STD LIST C ++

STD LIST C ++

Em C ++, a lista STD :: é como um contêiner que armazena os elementos no local da memória não contagioso. A lista "STD ::" é implementada como uma lista duplamente vinculada. Podemos inserir ou remover qualquer elemento da lista que seja armazenado em qualquer local, o que torna as listas bidirecionais e seqüenciais. Bidirecional porque podemos acessar os elementos da lista da frente e de trás da lista (de qualquer local). Sequencial porque podemos acessar os elementos em qualquer lugar da sequência. Listas se comportam como listas duplamente vinculadas. Listas duplamente vinculadas podem armazenar seus elementos em qualquer lugar da memória e podem ser acessados ​​em qualquer local no tempo de execução. A lista pertence a uma biblioteca de modelos padrão, como matrizes e vetores, mas as listas não permitem um acesso rápido comparável a outras estruturas de dados. Vamos discutir “STD :: List” neste artigo com a implementação prática de listas com diferentes operações.

Integrar a biblioteca

Para usar listas no código, o programador precisa importar a biblioteca necessária. A biblioteca para usar a lista é “lista”. Podemos importar isso adicionando a declaração seguinte:

#incluir

Sem importar esta biblioteca, não poderemos usar a lista e seus métodos no código.

Por que usamos uma lista?

Você deve se perguntar por que usamos uma lista quando temos vetores e matrizes. Você verá por que escolhemos uma lista em vez de outro tipo de estrutura de dados depois de ler os argumentos listados no seguinte:

  • A lista nos oferece melhor inserção, atualização e exclusão de funções em comparação com outras estruturas de dados.
  • Ele fornece bom desempenho com algoritmos que executam operações como inserção, exclusão ou atualização.
  • As listas nos fornecem muitos métodos para inserção e exclusão como push () e pop (), etc.

Sintaxe

Modelo < class_type , class Allocation = allocator > lista de classe;

Ou

STD :: List List_1;

O atributo "std" representa a biblioteca de modelos padrão. O operador de resolução do escopo diz ao compilador que vamos usar uma classe de "std". Em seguida, definimos o tipo de lista dentro dos colchetes do ângulo. Fora dos colchetes do ângulo, declaramos o nome da lista.

Parâmetros

  • Tipo: O tipo de dados que armazenamos na lista, como na segunda declaração, armazenamos os dados do tipo inteiro na lista. É obrigatório definir o tipo de dados que são armazenados na lista.
  • Alocador: O objeto de um tipo que esconde os detalhes da lista. Isso é opcional.

Métodos

Existem várias funções pelas quais podemos tornar possíveis as operações da lista.

  • insert (): insere os elementos da lista.
  • push_back (): ele insere os elementos na lista da parte traseira.
  • push_front (): ele insere os elementos da lista da frente.
  • pop_back (): ele remove um elemento da parte de trás da lista.
  • tamanho (): encontra o tamanho da lista.
  • back (): mostra o último elemento da lista.

Use Std :: List

Vamos falar sobre a implementação de listas no programa usando o modelo de lista padrão para listas.

Código:

#incluir
#incluir
int main ()
std :: list list_1 = 8.72, 6.7, 9.4, 5.3;
std :: cout<<"The values are: \n";
para (Valor da Float: list_1)
std :: cout << value << '\n';

A primeira etapa mostra a integração de duas bibliotecas. A primeira biblioteca contém todos os métodos de entrada e saída que usamos para obter ou imprimir o valor. Então, a segunda biblioteca é . Nós importamos isso para acessar os métodos de listas. A função principal () é chamada. Aqui, definimos a lista de tipos de flutuação e inicializamos a lista da mesma maneira que inicializamos as matrizes. O "std :: list" diz ao compilador que estamos definindo a lista. Em suportes de ângulo, "Float" diz o tipo de lista. Em seguida, represente uma mensagem na tela usando o comando "std :: cout". Depois disso, execute o loop "for" para imprimir a lista no console. Dentro do parêntese de “for” define uma variável do tipo flutuante que acessa os valores da lista. Não podemos imprimir a lista inteira diretamente, é por isso que usamos um loop. Dentro do corpo de "for", empregue o "std :: cout" para mostrar os valores da lista. Ao fazer isso, inicializamos e imprimimos as listas.

Saída

Os valores são:
8.72
6.7
9.4
5.3

Obtenha o tamanho da lista e insira elementos

Vamos observar como podemos obter o tamanho de uma lista e inserir os itens em uma lista depois de inicializar a lista.

Código:

#incluir
#incluir
int main ()

std :: list list_0 1,3,4,6,7;
std :: list :: iterator iter_0;
iter_0 = list_0.começar();
List_0.inserir (iter_0,5);
List_0.inserir (iter_0,2,80);
--iter_0;
std :: cout << "List_0 contains:";
para (iter_0 = list_0.começar(); iter_0!= List_0.fim(); ++ iter_0)
std :: cout << "\t" << *iter_0;
std :: cout<<"\nThe size of the list is :"<retornar 0;

As bibliotecas para acessar os métodos de entrada/saída e os métodos de lista são importados primeiro. Em seguida, invocar o método principal () para definir e inicializar uma lista de um tipo inteiro. Aqui, definimos outro iterador da lista do tipo inteiro "Iter_0" que itera na lista. Agora, use o método Begin () enquanto retorna o iterador do primeiro item da lista. Então, queremos inserir um valor na primeira lista que é "list_0". Então, chamamos a função insert (). Ele contém dois argumentos - primeiro é o list_name que armazena temporariamente o novo elemento. E o segundo argumento é o "valor". No método Begin (), não fornecemos o local ou o índice onde queremos inserir esse novo valor, por isso é automaticamente armazenado no primeiro índice e aumenta o valor que já está armazenado nesse índice. Insira outro valor e passe três parâmetros para o método insert (). Primeiro, itera. Segundo, diz o número de valores que queremos inserir. E o terceiro é o valor que é inserido. Aqui, "80" é inserido no segundo e terceiro índice na lista. Após a inserção, realizamos um decréscimo na lista. Imprima o texto "list_0 contém:" no console e use o loop "for" para mostrar os itens da lista. No loop "for", inicialize o iterador para começar da lista e continuar em loop na lista até chegar ao final da lista e incrementar o iterador. No corpo de "for", exiba a lista de itens que obtemos por outro iterador de lista. O "*iter_0" acessa a localização dos itens da lista e o "cout" imprime o valor no console. Fora do loop "for", usando a função size (), adquirimos o tamanho da lista.

Saída:

List_0 contém: 5 80 80 1 3 4 6 7
O tamanho da lista é: 8

Conclusão

Neste artigo, explicamos em detalhes sobre a “Lista STD ::. Após uma breve introdução, conversamos sobre por que precisamos de listas quando existem outros contêineres, sintaxe, métodos e exemplos práticos de listas. As listas são fáceis de usar devido aos seus métodos internos. Podemos inserir os elementos em qualquer lugar da lista e o mesmo vale para extração. Funciona como uma lista duplamente vinculada, mas fornece mais instalações do que uma lista de ligações duplas.