Biblioteca C ++ - <list>
Introdução
List é um contêiner de sequência usado popularmente. Container é um objeto que contém dados do mesmo tipo. O contêiner de lista é implementado como uma lista duplamente vinculada, portanto, fornece acesso sequencial bidirecional aos dados.
A lista não fornece acesso aleatório rápido, apenas oferece suporte ao acesso sequencial em ambas as direções. Lista permite a operação de inserção e exclusão em qualquer lugar dentro de uma sequência em tempo constante.
Os elementos da lista podem estar espalhados em diferentes blocos de memória. O contêiner armazena as informações necessárias para permitir o acesso sequencial aos seus dados. As listas podem diminuir ou expandir conforme necessário de ambas as extremidades no tempo de execução. O requisito de armazenamento é atendido automaticamente pelo alocador interno.
Listas de tamanho zero também são válidas. Nesse caso, list.begin () e list.end () apontam para o mesmo local. Mas o comportamento de chamar front () ou back () é indefinido.
Definição
Abaixo está a definição de std :: list do arquivo de cabeçalho <list>
template < class T, class Alloc = allocator<T> > class list;
Parâmetros
T - Tipo de elemento contido.
T pode ser substituído por qualquer outro tipo de dados, incluindo tipo definido pelo usuário.
Alloc - Tipo de objeto alocador.
Por padrão, o modelo de classe de alocador é usado, o que define o modelo de alocação de memória mais simples e é independente de valor.
Tipos de membros
Os seguintes tipos de membro podem ser usados como parâmetros ou tipo de retorno por funções de membro.
Sr. Não. | Tipos de membros | Definição |
---|---|---|
1 | value_type | T (primeiro parâmetro do modelo) |
2 | alocator_type | Alloc (segundo parâmetro do modelo) |
3 | referência | value_type & |
4 | const_reference | const value_type & |
5 | ponteiro | value_type * |
6 | const_pointer | const value_type * |
7 | iterador | um iterador de acesso aleatório para value_type |
8 | const_iterator | um iterador de acesso aleatório para const value_type |
9 | reverse_iterator | std :: reverse_iterator <iterator> |
10 | const_reverse_iterator | std :: reverse_iterator <const_iterator> |
11 | Tamanho Tipo | size_t |
12 | tipo de diferença | ptrdiff_t |
Funções de <list>
Abaixo está uma lista de todos os métodos do cabeçalho <list>.
Construtores
Sr. Não. | Método e Descrição |
---|---|
1 | list :: list
construtor padrão Constrói uma lista vazia com zero elementos. |
2 | construtor list :: list fill
Constrói uma nova lista com n elementos e atribui val a cada elemento da lista. |
3 | construtor list :: list fill
Constrói uma nova lista com n elementos e atribui valor zero a cada elemento da lista. |
4 | list :: list range constructor
Constrói uma lista com tantos elementos quanto no intervalo do primeiro ao último . |
5 | list :: list copy constructor
Constrói uma lista com cópia de cada elemento presente na lista existente. |
6 | construtor list :: list move
Constrói uma lista com o conteúdo de outro usando a semântica de movimento. |
7 | list :: list initializer list constructor Constrói uma lista com o conteúdo de outro usando a semântica de movimento. |
Destruidor
Sr. Não. | Método e Descrição |
---|---|
1 | lista :: ~ lista
Destrói o objeto da lista desalocando sua memória. |
Funções de membro
Sr. Não. | Método e Descrição |
---|---|
1 | lista :: atribuir versão de intervalo Atribui um novo valor à lista, substituindo os antigos. |
2 | lista :: atribuir versão de preenchimento Atribui novos valores à lista, substituindo os antigos. |
3 | lista :: atribuir versão da lista de inicializador Atribui novos valores à lista, substituindo os antigos. |
4 | lista :: voltar
Retorna uma referência ao último elemento da lista. |
5 | lista :: começar
Retorna um iterador de acesso aleatório que aponta para o primeiro elemento da lista. |
6 | list :: cbegin
Retorna um iterador de acesso aleatório constante que aponta para o início da lista. |
7 | list :: cend
Retorna um iterador de acesso aleatório constante que aponta para o final da lista. |
8 | lista :: limpar
Destrói a lista removendo todos os elementos da lista e define o tamanho da lista como zero. |
9 | list :: crbegin
Retorna um iterador reverso constante que aponta para o último elemento da lista. |
10 | list :: crend
Retorna um iterador reverso constante que aponta para o elemento teórico que precede o primeiro elemento da lista. |
11 | list :: emplace
Amplia a lista inserindo um novo elemento em uma determinada posição. |
12 | list :: emplace_back
Insere um novo elemento no final da lista e aumenta o tamanho da lista em um. |
13 | list :: emplace_front
Insere um novo elemento no início da lista e aumenta o tamanho da lista em um. |
14 | lista :: vazio
Testa se a lista está vazia ou não. |
15 | lista :: fim
Retorna um iterador de acesso aleatório que aponta para o último elemento da lista. |
16 | lista :: apagar versão da posição Remove um único elemento da lista. |
17 | lista :: apagar versão do intervalo Remove um intervalo de elemento da lista. |
18 | lista :: frente
Retorna uma referência ao primeiro elemento da lista. |
19 | list :: get_allocator
Retorna um alocador associado à lista |
20 | lista :: inserir versão de elemento único Estende o iterador inserindo novo elemento na posição na lista. |
21 | lista :: inserir versão de preenchimento Estende a lista inserindo novos elementos no contêiner. |
22 | lista :: inserir versão do intervalo Estende a lista inserindo novos elementos no contêiner. |
23 | lista :: inserir versão de movimento Estende a lista inserindo um novo elemento no contêiner. |
24 | lista :: inserir versão da lista de inicializadores Amplia a lista inserindo novos elementos no contêiner |
25 | list :: max_size
Retorna o número máximo de elementos que podem ser mantidos por lista. |
26 | list :: merge
Mescla duas listas classificadas em uma. |
27 | list :: merge compare function Mescla duas listas classificadas em uma. |
28 | lista :: mesclar versão de movimentação Mescla duas listas classificadas em uma usando a semântica de movimentação. |
29 | list :: merge compare função mover versão Mescla duas listas classificadas em uma usando a semântica de movimentação. |
30 | list :: operator = copiar versão Atribui novos conteúdos à lista, substituindo os antigos. |
31 | lista :: operador = mover versão Atribua novos conteúdos à lista, substituindo os antigos. |
32 | lista :: operador = versão da lista de inicializador Atribua novos conteúdos à lista, substituindo os antigos. |
33 | list :: pop_back
Remove o último elemento da lista. |
34 | list :: pop_front
Remove o primeiro elemento da lista. |
35 | list :: push_back
Insere um novo elemento no final da lista. |
36 | list :: push_back move version Insere um novo elemento no final da lista. |
37 | list :: push_front
Insere um novo elemento no início da lista. |
38 | list :: push_front move version Insere um novo elemento no início da lista. |
39 | list :: rbegin
Retorna um iterador reverso que aponta para o último elemento da lista. |
40 | lista :: remover
remove elemento (s) da lista que corresponde ao valor. |
41 | list :: remove_if
remove elementos da lista que atendem à condição. |
42 | list :: rend
Retorna um iterador reverso que aponta para a extremidade reversa da lista. |
43 | list :: resize
Altera o tamanho da lista. |
44 | lista :: redimensionar versão do valor Altera o tamanho da lista. |
45 | lista :: reversa
Inverte a ordem dos elementos presentes na lista. |
46 | lista :: tamanho
Retorna o número de elementos presentes na lista. |
47 | list :: sort
Classifica os elementos da lista. |
48 | função list :: sort compare Classifica os elementos da lista. |
49 | list :: splice
Transfere todos os elementos da lista para * isto. |
50 | list :: splice single element Transfere um elemento apontado pelo iterador i da lista x para * this . |
51 | lista :: versão de movimento de emenda Transfere todos os elementos da lista x para * esta usando a semântica de movimentação. |
52 | lista :: versão do intervalo de emenda
Transfere os elementos no intervalo do primeiro ao último de x para * this . |
53 | list :: splice versão de movimento de elemento único Transfere o elemento apontado pelo iterador i da lista x para * this usando a semântica de movimentação. |
54 | lista :: faixa de emenda e versão de movimento Transfere os elementos no intervalo do primeiro ao último de x para * isso usando a semântica de movimento. |
55 | lista :: trocar
Troca o conteúdo da lista com o conteúdo de outra lista x . |
56 | lista :: única
Remove todos os elementos duplicados consecutivos da lista. |
57 | lista :: única
Remove todos os elementos duplicados consecutivos da lista. |
Funções sobrecarregadas de não membros
Sr. Não. | Método e Descrição |
---|---|
1 | operador ==
Testa se duas listas são iguais ou não. |
2 | operador! =
Testa se duas listas são iguais ou não. |
3 | operador <
Testa se a primeira lista é inferior a outra ou não. |
4 | operador <=
Testa se a primeira lista é menor ou igual a outra ou não. |
5 | operador>
Testa se a primeira lista é maior que a outra ou não. |
6 | operador> =
Testa se a primeira lista é maior ou igual a outra ou não. |
7 | troca
Troca o conteúdo de duas listas. |