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.