13 maio 2011

Deque - C/C++

Duplo terminou fila
deque (geralmente pronunciado como "deck" ) é um acrônimo irregular de d -ouble e nded Que ue. Double-filas terminaram são uma espécie de recipiente seqüência. Como tal, os seus elementos estão ordenados na sequência de uma seqüência linear estrita.

Deques podem ser implementadas por bibliotecas específicas de diferentes maneiras, mas em todos os casos em que permitem a cada um dos elementos a ser acessado por meio de iteradores de acesso aleatório, com armazenamento sempre tratado automaticamente (expandindo e contraindo quando necessário).

seqüências deque têm as seguintes propriedades:
Os elementos individuais podem ser acessados ​​pelo seu índice de posição.
Iteração sobre os elementos podem ser realizados em qualquer ordem.
Os elementos podem ser adicionados e removidos de forma eficiente a partir de qualquer de suas extremidades (início ou o fim da seqüência).

Portanto, eles fornecem uma funcionalidade semelhante ao fornecido pelo vetor s, mas com inserção eficiente e exclusão de elementos também no início da seqüência e não apenas no seu final. Do lado da devolução, ao contrário do vetor s, deque s não são a garantia de ter todos os seus elementos em locais de armazenamento contíguos, eliminando assim a possibilidade de acesso seguro através da aritmética de ponteiro.

Ambos os vetores s e deque é proporcionar, assim, uma interface muito semelhante e pode ser usado para fins semelhantes, mas internamente o trabalho tanto de maneira bem diferente: enquanto os vetores são muito semelhantes a uma matriz comum, que cresce por realocar todos os seus elementos em um único bloco quando sua capacidade está esgotada, os elementos de um deque s pode ser dividido em vários pedaços de armazenamento, com a classe de manter todas essas informações e proporcionando um acesso uniforme aos elementos. Portanto, deque s são um pouco mais complexo internamente, mas isso geralmente lhes permite crescer de forma mais eficiente do que o vetor está com sua capacidade de forma automática, especialmente em grandes seqüências, porque realocações maciças são evitados.

Para operações que envolvem a inserção freqüente ou remoção de elementos em posições que não sejam o início ou o fim, deque é pior desempenho consistente e tem menos iteradores e referências de lista s.

Em sua implementação em C + + Standard Template Library, deques tomar dois parâmetros do modelo:

template < classe T, classe Allocator alocador
=> classe deque;

Onde os parâmetros de modelo têm os seguintes significados:
T : tipo de elementos.
Alocador : Tipo do alocador objeto usado para definir o modelo de alocação de armazenamento. Por padrão, o alocador de modelo de classe para o tipo T é usado, que define o modelo de alocação de memória mais simples e é independente de valor.
Na referência para as funções de membro do deque, esses mesmos nomes são assumidos para os parâmetros do modelo.



funções de Membro


Iteradores :

Capacidade :

Elemento de acesso :

Modificadores :

Alocador :

tipos Estados

do modelo <T, classe Allocator alocador <T> => deque de classe; 
tipo de membrodefinição
referênciaAlocador de Referência:
const_referenceAlocador: const_reference
iteradorRandom iterador acesso
const_iteratoriterador de acesso aleatório Constant
size_typeUnsigned tipo integral (normalmente mesmo size_t )
difference_typeAssinado tipo integral (normalmente mesmo ptrdiff_t )
value_typeT
allocator_typeAlocador
ponteiroAlocador: ponteiro
const_pointerAlocador: const_pointer
reverse_iterator<iterator> reverse_iterator
const_reverse_iterator<const_iterator> reverse_iterator

0 comentários:

Postar um comentário

Cadastre-se

Receba atualizações por email .

Copyright © 2011 PortalTecch.net, Todos os direitos reservados.