Compartilhar via


priority_queue (STL/CLR)

A classe de modelo descreve um objeto que controla um variação comprimento ordenada seqüência de elementos que tem acesso limitado.Usar o adaptador de contêiner priority_queue para gerenciar um contêiner subjacente como uma fila de prioridade.

Na descrição abaixo, GValue é o mesmo que Value , a menos que o último é um tipo de referência, caso em que é Value^.Da mesma forma, GContainer é o mesmo que Container , a menos que o último é um tipo de referência, caso em que é Container^.

template<typename Value,
    typename Container>
    ref class priority_queue
        System::ICloneable,
        Microsoft::VisualC::StlClr::IPriorityQueue<GValue, GContainer>
    { ..... };

Parâmetros

  • Valor
    O tipo de um elemento na seqüência controlada.

  • Contêiner
    O tipo de contêiner subjacente.

Membros

Definição de tipo

Descrição

priority_queue::const_reference (STL/CLR)

O tipo de uma referência constante a um elemento.

priority_queue::container_type (STL/CLR)

O tipo de contêiner subjacente.

priority_queue::difference_type (STL/CLR)

O tipo de uma distância assinada entre dois elementos.

priority_queue::generic_container (STL/CLR)

O tipo de interface genérica para o adaptador de contêiner.

priority_queue::generic_value (STL/CLR)

O tipo de um elemento da interface genérica para o adaptador de contêiner.

priority_queue::Reference (STL/CLR)

O tipo de uma referência a um elemento.

priority_queue::size_type (STL/CLR)

O tipo de uma distância assinada entre dois elementos.

priority_queue::value_compare (STL/CLR)

O delegado pedido para dois elementos.

priority_queue::value_type (STL/CLR)

O tipo de um elemento.

Função de membro

Descrição

priority_queue::Assign (STL/CLR)

Substitui todos os elementos.

priority_queue::Empty (STL/CLR)

Testes se elementos não estão presentes.

priority_queue::get_container (STL/CLR)

Acessa o contêiner subjacente.

priority_queue::pop (STL/CLR)

Remove o elemento de prioridade de hghest.

priority_queue::priority_queue (STL/CLR)

Constrói um objeto de recipiente.

priority_queue::push (STL/CLR)

Adiciona um novo elemento.

priority_queue::Size (STL/CLR)

Conta o número de elementos.

priority_queue::Top (STL/CLR)

Acessa o elemento de prioridade mais alta.

priority_queue::to_array (STL/CLR)

Copia a seqüência controlada para uma nova matriz.

priority_queue::value_comp (STL/CLR)

Copia o delegate pedido para dois elementos.

Propriedade

Descrição

priority_queue::top_item (STL/CLR)

Acessa o elemento de prioridade mais alta.

Operator

Descrição

priority_queue::Operator = (STL/CLR)

Substitui a seqüência controlada.

Interfaces

Interface

Descrição

ICloneable

Duplica um objeto.

IPriorityQueue < valor, recipiente >

Manter o adaptador de contêiner genérico.

Comentários

O objeto aloca e libera o armazenamento para a seqüência que ele controla por meio de um contêiner subjacente, do tipo Container, que armazena Value elementos e cresce sob demanda.Ele mantém a seqüência ordenada como uma pilha, com o elemento de prioridade mais alta (o elemento superior) prontamente acessível e removível.O objeto restringe o acesso para envio de novos elementos e tirando apenas o elemento de prioridade mais alta, a implementação de uma fila de prioridade.

O objeto ordena a seqüência que ele controla chamando um objeto delegado armazenado do tipo priority_queue::value_compare (STL/CLR).Você pode especificar o objeto delegado armazenado quando você construir o priority_queue; Se você não especificar nenhum objeto delegado, o padrão é a comparação operator<(value_type, value_type).Acessar este objeto armazenado chamando a função de membro priority_queue::value_comp (STL/CLR)().

Um objeto de delegado deve impor uma ordem fraca estrita nos valores do tipo priority_queue::value_type (STL/CLR).Isso significa que, para quaisquer duas chaves X e Y:

value_comp()(X, Y)Retorna o Boolean mesmo resultar em cada chamada.

Se value_comp()(X, Y) for true, em seguida, value_comp()(Y, X) deve ser false.

Se value_comp()(X, Y) for true, em seguida, X é dito ser solicitados antes de Y.

Se !value_comp()(X, Y) && !value_comp()(Y, X) for true, em seguida, X e Y disse ter pedido equivalente.

Para qualquer elemento X que precede Y na seqüência controlada, key_comp()(Y, X) é falso.(Para o objeto delegado padrão, as chaves nunca diminuir no valor.)

O elemento de prioridade mais alto, portanto, é um dos elementos que não é ordenada antes de qualquer outro elemento.

Desde que o contêiner subjacente mantém ordenados como uma pilha de elementos:

O contêiner deve oferecer suporte a iteradores de acesso aleatório.

Elementos com ordem equivalente podem ser exibidos em uma ordem diferente, que foram enviados.(A ordem não é estável.)

Assim, incluem candidatos para o contêiner subjacente deque (STL/CLR) e vetor (STL/CLR).

Requisitos

Cabeçalho: < cliext/fila >

Namespace: cliext

Consulte também

Referência

deque (STL/CLR)

fila (STL/CLR)

pilha (STL/CLR)

vetor (STL/CLR)

Outros recursos

Referência de biblioteca STL/CLR