Lista Iterator C ++

Lista Iterator C ++
Uma lista é uma estrutura de dados que contém os itens nela na forma de uma sequência. Assim como as matrizes, ele também contém os membros do mesmo tipo de dados por vez. Neste guia, aprenderemos sobre os iteradores da lista na linguagem de programação C ++.

Iteradores

Um iterador age como um ponteiro que indica os itens dentro da lista. Os iteradores são usados ​​principalmente para passar pelos dados dentro de uma lista. Os iteradores também são usados ​​para indicar o endereço de memória dos contêineres. Neste artigo, algumas operações de iteradores são explicadas.

Começar()

Esta função iniciar () tem um iterador que é retornado com o valor que mostra o primeiro elemento. É bem diferente da função frontal () do iterador porque a função frontal retorna uma referência, mas o começo () retorna o próprio iterador.

Fim()

Ele retorna um iterador que aponta para o último elemento da lista.

Avançar()

Esta é uma operação importante, pois é usada para incrementar a posição do iterador para o número especificado mencionado no parâmetro.

Próximo()

Esta função retorna o novo iterador depois de avançar sua posição, que é mencionada no argumento.

Prev ()

Esta é a função usada para trazer o novo iterador que mostra o valor que foi diminuído para o número descrito na lista.

Inserter ()

Esta é a função que é usada para inserir os novos elementos em qualquer posição na lista. Tem dois argumentos. Um é o nome do contêiner, e o outro é o ponteiro que mostra a posição em que o novo item ou itens deve ser inserido.

Exemplo 1

Begin (), end ():

Este exemplo contém o código -fonte para demonstrar o funcionamento dessas duas funções. Como estamos aplicando essas funções na lista, a biblioteca da lista é usada aqui na primeira etapa.

#incluir

Então, dentro do programa principal, declaramos uma lista com 5 números inteiros.

Lista mylist 1,2,3,4,5;

Agora queremos exibir todo o conteúdo da lista. Então, um loop é usado. Como sabemos, um loop for requer um ponto de partida e final na iniciativa Loop para iniciar o loop na lista "mylist". BEGIN () A função é usada aqui. E no final, “mylist. end () ”é usado. 'MyList' é o objeto usado para acessar a lista.

Um iterador é criado que começará e se moverá até o fim, incrementando em cada loop. Para executar o código -fonte, use um compilador G ++ para compilação e depois a execução do código. Vá para o terminal Linux e use os comandos abaixo do citado.

$ g ++ -o arquivo de arquivo.c
$ ./arquivo

O valor resultante conterá todos os números que entramos na lista através do programa principal.

Exemplo 2

Avançar ():

Como descrito acima, esta função é usada para incrementar o iterador para um número específico passado como seu argumento. Agora considere o seguinte exemplo em que aplicamos uma classe de iterador com a classe List para que todas as funções dos iteradores possam ser executadas facilmente.

Após a declaração de uma lista, o iterador é declarado para a lista.

Lista iterator :: ptr = mylist.começar();

"PTR" é um objeto do iterador. Este iterador está atribuído à função Begin (). Agora precisamos pular em direção ao ponto específico, aumentaremos a posição do iterador até 2, e isso é feito usando a função Avance ().

Adiantamento (ptr, 2);

Esta função leva o objeto do iterador e o número para mostrar a posição em que queremos mudar o iterador. Depois disso, a posição do iterador nesse ponto é exibida. Por padrão, estava na primeira posição; Ao usar o avanço, agora será em 3.

Salve o código -fonte no arquivo e depois executá -lo para ver os valores executados.

Exemplo 3: Next (), prev ()

Ambos os iteradores são devolvidos com o valor quando o iterador é incrementado e uma vez que o iterador é diminuído. As posições são mencionadas no argumento, pois são descritas com antecedência () parâmetro de função. Depois de usar as bibliotecas dentro do programa principal, a lista é declarada primeiro no exemplo. Depois disso, os iteradores são criados e depois declarados para a lista. Dois iteradores separados são criados com diferentes objetos de ponteiro de iterador para ambas as funções.

Primeiro, usaremos o próximo iterador que retornará o novo iterador que está apontando para 4.

AUTO IT = Avançar (PTR, 3);

O iterador é gerado automaticamente e chamará a próxima função com o ponteiro e o número que queremos que o iterador seja incrementado. Então, assim como a função avançada (), o iterador aumentará para a posição especificada. Agora, o próximo passo é usar a função prev (). O prev () também conterá o ponteiro do objeto criado acima e o número para voltar. Esta função retornará um novo iterador que apontará para 3.

Auto it1 = prev (ftr, 3);

No final, exibiremos a posição dos novos iteradores em ambos os casos. Ambos os valores são exibidos usando os ponteiros, enquanto armazenam as posições na lista. Compile o código e você verá que as funções dos iteradores prev () e a próxima () exibem os valores na lista através do compilador.

Exemplo 4

Inserter ()

Como explicamos acima, essa função insere o novo valor em qualquer posição na lista. Então agora, no exemplo, declare primeiro uma lista com 3 números de números inteiros.

Em inserter (), podemos inserir um único número e uma lista de números. Então, neste exemplo, inseriremos uma lista de três números dentro da lista que criamos acima. Crie um iterador e depois declare -o para a lista que criamos. Como precisamos inserir a nova lista em um local específico, precisamos incrementar o iterador nessa posição. E isso é feito usando o ITERATOR ADVANCE ().

Adiantamento (ptr, 2);

Aumentará o iterador para a segunda posição; Significa depois de 2, a nova lista será inserida. Portanto, com a ajuda de objetos, os elementos de uma lista copiarão na segunda lista. Usaremos uma função de cópia aqui.

Cópia (AR1.BEGIN (), AR1. end (), inserter (AR, PTR));

A função de cópia usará o começo () e end (), para começar a copiar os elementos desde o início da segunda lista e continuar copiando até o final da lista. A função Inserter leva o objeto da primeira lista e o objeto iterador para apontar a posição em que a lista deve ser inserida.

Para exibir todos os elementos, usaremos um loop para.

Os valores resultantes obtidos a partir da execução do código acima mostram que a primeira lista contém os números de ambas as listas.

Conclusão

'List Iterator C' é o artigo que contém as informações sobre os tipos de artigos que aplicamos à lista. Todas essas operações são explicadas com a descrição básica. Também citamos alguns exemplos para cada função do iterador. Esses exemplos são implementados no sistema operacional Linux usando o editor de texto e o terminal Linux.