Compartilhar via


deque (STL/CLR)

A classe de modelo descreve um objeto que controla uma seqüência de comprimento variando de elementos que possui acesso aleatório.Use o contêiner deque para gerenciar uma seqüência de elementos que se parece com um bloco contíguo de armazenamento, mas que pode crescer ou encolher o final sem a necessidade de copiar todos os elementos restantes.Assim, pode implementar com eficiência uma double-ended queue.(Daí o nome.)

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

template<typename Value>
    ref class deque
        :   public
        System::ICloneable,
        System::Collections::IEnumerable,
        System::Collections::ICollection,
        System::Collections::Generic::IEnumerable<GValue>,
        System::Collections::Generic::ICollection<GValue>,
        System::Collections::Generic::IList<GValue>,
        Microsoft::VisualC::StlClr::IDeque<GValue>
    { ..... };

Parâmetros

  • GValue
    O tipo genérico de um elemento na seqüência controlada.

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

Membros

Definição de tipo

Descrição

deque::const_iterator (STL/CLR)

O tipo de um iterador constante para a seqüência controlada.

deque::const_reference (STL/CLR)

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

deque::const_reverse_iterator (STL/CLR)

O tipo de um iterador inverso constante para a seqüência controlada.

deque::difference_type (STL/CLR)

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

deque::generic_container (STL/CLR)

O tipo de interface genérica para o recipiente.

deque::generic_iterator (STL/CLR)

O tipo de um iterador para a interface genérica para o recipiente.

deque::generic_reverse_iterator (STL/CLR)

O tipo de um iterador inverso para a interface genérica para o recipiente.

deque::generic_value (STL/CLR)

O tipo de um elemento da interface genérica para o recipiente.

deque::Iterator (STL/CLR)

O tipo de um iterador para a seqüência controlada.

deque::Reference (STL/CLR)

O tipo de uma referência a um elemento.

deque::reverse_iterator (STL/CLR)

O tipo de um iterador inverso para a seqüência controlada.

deque::size_type (STL/CLR)

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

deque::value_type (STL/CLR)

O tipo de um elemento.

Função de membro

Descrição

deque::Assign (STL/CLR)

Substitui todos os elementos.

deque::AT (STL/CLR)

Acessa um elemento em uma posição especificada.

deque::back (STL/CLR)

Acessa o último elemento.

deque::Begin (STL/CLR)

Designa o início da seqüência controlada.

deque::Clear (STL/CLR)

Remove todos os elementos.

deque::Deque (STL/CLR)

Constrói um objeto de recipiente.

deque::Empty (STL/CLR)

Testes se elementos não estão presentes.

deque::end (STL/CLR)

Designa o final da seqüência controlada.

deque::Erase (STL/CLR)

Remove os elementos em posições especificadas.

deque::front (STL/CLR)

Acessa o primeiro elemento.

deque::Insert (STL/CLR)

Adiciona elementos em uma posição especificada.

deque::pop_back (STL/CLR)

Remove o último elemento.

deque::pop_front (STL/CLR)

Remove o primeiro elemento.

deque::push_back (STL/CLR)

Adiciona um novo elemento último.

deque::push_front (STL/CLR)

Adiciona um novo elemento primeiro.

deque::rbegin (STL/CLR)

Designa o início da seqüência controlada revertida.

deque::rend (STL/CLR)

Designa o final da seqüência controlada revertida.

deque::Resize (STL/CLR)

Altera o número de elementos.

deque::Size (STL/CLR)

Conta o número de elementos.

deque::swap (STL/CLR)

Troca o conteúdo dos dois recipientes.

deque::to_array (STL/CLR)

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

Propriedade

Descrição

deque::back_item (STL/CLR)

Acessa o último elemento.

deque::front_item (STL/CLR)

Acessa o primeiro elemento.

Operator

Descrição

deque::Operator! = (STL/CLR)

Determina se dois deque objetos não são iguais.

deque::Operator [] (STL/CLR)

Acessa um elemento em uma posição especificada.

operador < (deque) (STL/CLR)

Determina se um deque objeto é menor que outro deque objeto.

operador < = (deque) (STL/CLR)

Determina se um deque objeto é menor ou igual a outro deque objeto.

operador = (deque) (STL/CLR)

Substitui a seqüência controlada.

operador = = (deque) (STL/CLR)

Determina se um deque objeto é igual a outro deque objeto.

operador > (deque) (STL/CLR)

Determina se um deque objeto é maior que o outro deque objeto.

operador > = (deque) (STL/CLR)

Determina se um deque objeto é maior ou igual a outro deque objeto.

Interfaces

Interface

Descrição

ICloneable

Duplica um objeto.

IEnumerable

Por meio de elementos na seqüência.

ICollection

Manter o grupo de elementos.

IEnumerable<T>

Seqüência pelos elementos digitados.

ICollection<T>

Manter o grupo de elementos digitados.

IList<T>

Manter um grupo ordenado de elementos digitados.

IDeque <Value>

Manter um contêiner genérico.

Comentários

O objeto aloca e libera o armazenamento para a seqüência que ele controla por meio de um conjunto armazenado de alças designar blocos de Value elementos.A matriz cresce sob demanda.Crescimento ocorre de forma que o custo de anexando ao início ou acrescentando um novo elemento é tempo constante e sem elementos restantes são perturbados.Você também pode remover um elemento em uma das extremidades em tempo constante e sem atrapalhar elementos restantes.Assim, um deque é um bom candidato para o contêiner subjacente para classe de modelo fila (STL/CLR) ou classe de modelo pilha (STL/CLR).

A deque objeto oferece suporte a iteradores de acesso aleatório, que significa que você pode se referir a um elemento diretamente dado sua posição numérica, contando a partir do zero para o primeiro elemento (frontal), para deque::Size (STL/CLR)() - 1 o último elemento (verso).Isso também significa que um deque é um bom candidato para o contêiner subjacente para classe de modelo priority_queue (STL/CLR).

Um iterador deque armazena uma alça para seu objeto deque associado, juntamente com a influência do elemento que ele designa.Você pode usar iteradores somente com seus objetos de recipiente associado.A diferença de um elemento deque é not necessariamente a mesma posição.O primeiro elemento inserido tem diferença zero, o próximo elemento acrescentado tem diferença 1, mas o próximo elemento antecedendo tem diferença -1.

Inserindo ou apagando elementos nas extremidades não not alterar o valor de um elemento armazenado em qualquer ajuste válido.Inserindo ou apagando um elemento interior, no entanto, can alterar o valor armazenado em uma determinada polarização, portanto, também pode alterar o valor designado por um iterador do elemento.(O recipiente pode ter que copiar elementos para cima ou para baixo para criar um buraco antes de uma inserção ou preencher um orifício após um apagamento). No entanto, um iterador deque permanece válido desde sua polarização designa um elemento válido.Além disso, um iterador válido permanece dereferencable – pode ser usado para acessar ou alterar o valor do elemento designa – desde que sua influência não é igual a diferença do iterador retornado por end().

Apagar ou remover um elemento chama o destruidor para o valor armazenado.Destruir o recipiente apaga todos os elementos.Assim, um recipiente cujo tipo de elemento é uma classe ref garante que nenhum elemento outlive no recipiente.Entretanto, observe que um recipiente de alças não not destruir seus elementos.

Requisitos

Cabeçalho: < cliext/deque >

Namespace: cliext

Consulte também

Referência

lista (STL/CLR)

priority_queue (STL/CLR)

fila (STL/CLR)

pilha (STL/CLR)

vetor (STL/CLR)

Outros recursos

Referência de biblioteca STL/CLR