Itera através de uma lista em C ++

Itera através de uma lista em C ++
A estrutura de dados mais comum é uma lista. Uma lista é uma coleção de registros vinculados para que eles possam ser simplesmente iterados e mantidos. Um iterador é um atributo (semelhante a um ponteiro) que aponta para um componente da lista. Os iteradores podem ser usados ​​para atravessar os dados da lista. Eles serão vistos como um ponteiro indicando um certo ponto, e então poderíamos usá -los para recuperar dados nessa região específica.

Os iteradores são importantes para integrar algoritmos em listas e modificar dados armazenados nas listas. Um ponteiro tem sido o tipo mais comum de iterador. Um ponteiro pode se relacionar com atributos em uma matriz e depois usar o operador de incremento (++) para atravessar sobre eles. No entanto, nem todos os iteradores têm a mesma adaptabilidade que as dicas.

A lista C ++ seria iterada nos dois modos (ou seja, para frente e para trás). Construiremos uma lista C ++ e iteraremos através de seus componentes neste artigo. E este artigo analisará todas as técnicas em C ++ que serão usadas para iterar através de uma lista.

Use um iterador para iterar através de uma lista

Neste procedimento, um iterador 'ITR' é construído e inicializado utilizando o método BEGIN (), o que indicaria o primeiro componente. Ele irá iterar até que se aproxime do final da lista, com 'ITR' indicando o próximo componente na lista. Neste método, duas funções seriam usadas:

  • BEGIN () fornece um iterador para o componente inicial da lista.
  • end () fornece um iterador ao componente qualitativo que vem após o último componente da lista.
#incluir
usando namespace std;
Void Display (Set A)

set :: iterator itr;
para (itr = a.começar();
itr != a.fim(); itr ++)

cout<< *itr<< " ";


int main ()

definir a;
a.inserir (350);
a.inserir (550);
a.inserir (750);
a.inserir (450);
a.inserir (650);
exibição (a);
retornar 0;

Inicialmente, aplicamos a função void Display () para mostrar os componentes do conjunto. A variável 'a' está sendo especificada para esses elementos. Para representar os elementos, fomos usados ​​para loop. Para o loop, aplicamos iniciantes () e end () funções. O método BEGN () retorna um iterador com o valor indicando o primeiro componente. Difere do método frontal () do iterador no qual a função frontal () fornece um ponteiro, enquanto o início () fornece o iterador diretamente. A função end () reverte um iterador que leva ao último componente da lista. Nós aumentamos o valor do iterador.

Empregamos a declaração 'cout' para o ponteiro do iterador. Primeiro, inserimos os números em ordem aleatória. O método insert () está sendo usado para inserir esses números. Se quisermos exibir todos esses números na lista, então o método Display () é utilizado. Para encerrar o código, inserimos o comando 'return 0'.

Use um range baseado em loop para iterar através de uma lista

Um alcance baseado em loop está sendo utilizado para iterar na maioria dos componentes em uma lista de maneira avançada nesta metodologia.

#incluir
usando namespace std;
Void Display (Set C)

para (Auto ITR: C)

cout<

int main ()

conjunto c;
c.inserir (7);
c.inserir (4);
c.inserir (1);
c.inserir (8);
c.inserir (3);
exibição (c);
retornar 0;

Primeiro de tudo, apresentamos a biblioteca . Na próxima linha, utilizaremos o espaço de nome padrão. Temos usado o método void Display () para mostrar as entidades da lista. Definimos a variável 'C' para armazenar as entidades. Agora, para exibir essas entidades, a lista 'para' loop é aplicada.

O primeiro parâmetro representa a declaração de intervalo. Uma definição ou um ponteiro para uma variável especificada cujo tipo é o mesmo do item na ordem especificada pela expressão de intervalo. Para indução de tipo autônomo, o qualificador automático é frequentemente usado. O segundo parâmetro da função 'Auto' mostra o intervalo da expressão. Indica uma ordem apropriada. Adicionamos a declaração de loop usando 'cout'.

Aqui inicializamos o objeto da lista especificada dentro do corpo da função principal (). Adicionamos aleatoriamente alguns números empregando o C.função insert () para todos os números. A função Display () está sendo usada para mostrar esses números aleatórios. O conjunto definido é passado como um parâmetro para esta função. Usamos o comando 'retornar 0' para o término do código.

Use o iterador reverso para iterar através de uma lista para trás

Nesta técnica, um iterador reverso 'ITR' é construído e inicializado com o método rBegin () para indicar o último componente em uma lista, mas após cada iteração, 'ITR' refere -se ao próximo componente de uma lista de maneira inversa, e itera até atingir o início da lista.

#incluir
usando namespace std;
Void Display (Definir x)

set :: reverse_iteratoritr;
para (itr = x.rBegin ();
itr != x.rend (); itr ++)

cout<< *itr<< " ";


int main ()

definir x;
\ x.inserir (600);
x.inserir (400);
x.inserir (800);
x.inserir (700);
x.Insert (200);
exibição (x);
retornar 0;

No início do programa, integramos o arquivo de cabeçalho . Também fazemos uso do espaço de nome padrão. Usamos o método void Display () para exibir o conteúdo do conjunto. Para armazenar esses componentes, declaramos a variável 'x'. Usamos um loop 'para' para indicar os elementos. Os procedimentos rBegin () e rend () são aplicados dentro do loop for. O rBegin () é um método embutido que fornece um iterador reverso apontado para o último componente da lista.

O rend () também é o método embutido que gera um iterador reverso, levando ao componente hipotético que precede o primeiro componente na lista. Um iterador é gerado e começaria e prosseguiria até atingir o final da lista, incrementando em cada loop.

Depois disso, usamos o comando 'cout' para obter o ponteiro do iterador. A função principal () é então invocada. Nesse caso, os números são inseridos em uma ordem randomizada. A função insert () é usada para incorporar números inteiros em uma lista. Portanto, aplicaremos o método Display () para mostrar todos os números na lista. No final, entramos no comando 'retornar 0' para encerrar o programa.

Conclusão

Neste artigo, discutimos vários métodos de iteração através da lista em C++. Estaremos iterando através de uma lista com a ajuda de um iterador, baseado em alcance para loop e iterador reverso. Todas essas metodologias foram descritas em alguns programas.