Iterare attraverso un elenco in C ++

Iterare attraverso un elenco in C ++
La struttura dei dati più comune è un elenco. Un elenco è una raccolta di record collegati insieme in modo che possano essere semplicemente iterati e mantenuti. Un iteratore è un attributo (simile a un puntatore) che indica un componente dell'elenco. Gli iteratori possono essere utilizzati per attraversare i dati dell'elenco. Saranno visti come un puntatore che indica un certo punto, e quindi potremmo usarli per recuperare i dati in quella regione specifica.

Gli iteratori sono importanti per integrare gli algoritmi negli elenchi e modificare i dati archiviati negli elenchi. Un puntatore è stato il tipo più comune di iteratore. Un puntatore può riferirsi agli attributi in un array e quindi utilizzare l'operatore di incremento (++) per attraversarli. Tuttavia, non tutti gli iteratori hanno la stessa adattabilità dei suggerimenti.

L'elenco C ++ sarebbe iterato in entrambe le modalità (cioè in avanti e indietro). Costruiremo un elenco C ++ e itegheremo attraverso i suoi componenti in questo articolo. E questo articolo esaminerà tutte le tecniche in C ++ che verranno utilizzate per iterare un elenco.

Usa un iteratore per iterare attraverso un elenco

In questa procedura, un iteratore 'ITR' viene costruito e inizializzato utilizzando il metodo iniziale (), che indicherebbe il primo componente. Iterazione finché non si avvicina alla fine dell'elenco, con "ITR" che indica il componente successivo nell'elenco. In questo metodo, verrebbero utilizzate due funzioni:

  • inizio () fornisce un iteratore al componente iniziale dell'elenco.
  • end () fornisce un iteratore al componente qualitativo che viene dopo l'ultimo componente dell'elenco.
#includere
Utilizzo dello spazio dei nomi std;
vuoto display (Imposta a)

Set :: iterator ITR;
per (itr = a.inizio();
itr != a.FINE(); ITR ++)

cout<< *itr<< " ";


int main ()

Imposta a;
UN.inserire (350);
UN.inserire (550);
UN.inserire (750);
UN.inserire (450);
UN.inserire (650);
display (a);
restituzione 0;

Inizialmente, applichiamo la funzione void display () per mostrare i componenti del set. La variabile "a" viene specificata per questi elementi. Per rappresentare gli elementi, siamo stati usati per loop. All'interno per loop appliciamo le funzioni di inizio () e fine (). Il metodo Begin () restituisce un iteratore con il valore che indica il primo componente. Si differenzia dal metodo frontale () dell'iteratore in cui la funzione anteriore () fornisce un puntatore, mentre inizio () fornisce direttamente l'iteratore. La funzione end () ripristina un iteratore che porta all'ultimo componente dell'elenco. Incrediamo nel valore dell'iteratore.

Utilizziamo la dichiarazione "cout" per il puntatore dell'iteratore. Innanzitutto, inseriamo i numeri in ordine casuale. Il metodo insert () viene utilizzato per inserire questi numeri. Se vogliamo visualizzare tutti questi numeri nell'elenco, quindi viene utilizzato il metodo Display (). Per terminare il codice, inseriamo il comando "return 0".

Utilizzare un ciclo basato su gamma per iterare attraverso un elenco

Viene utilizzato un range basato su loop per iterare la maggior parte dei componenti in un elenco in modo forward in questa metodologia.

#includere
Utilizzo dello spazio dei nomi std;
vuoto display (set c)

per (auto ITR: C)

cout<

int main ()

Set C;
C.inserire (7);
C.inserire (4);
C.inserire (1);
C.inserire (8);
C.inserire (3);
display (c);
restituzione 0;

Prima di tutto, introduciamo la biblioteca . Nella riga successiva, utilizzeremo lo spazio dei nomi standard. Abbiamo usato il metodo VIDE Display () per mostrare le entità dell'elenco. Impostiamo la variabile 'C' per archiviare le entità. Ora per la visualizzazione di queste entità, viene applicato l'elenco "per".

Il primo parametro rappresenta la dichiarazione di intervallo. Una definizione o un puntatore a una variabile specificata il cui tipo è uguale a quello dell'elemento nell'ordine specificato dall'espressione dell'intervallo. Per l'induzione di tipo autonomo, viene spesso utilizzato il qualificatore automatico. Il secondo parametro della funzione "auto" mostra l'intervallo dell'espressione. Indica un ordine appropriato. Aggiungiamo l'istruzione Loop usando "Cout".

Qui inizializziamo l'oggetto dell'elenco specificato all'interno del corpo della funzione principale (). Aggiungiamo casualmente alcuni numeri impiegando il C.funzione insert () per tutti i numeri. La funzione Display () viene utilizzata per mostrare questi numeri casuali. Il set definito viene passato come parametro a questa funzione. Utilizziamo il comando "return 0" per la terminazione del codice.

Usa iteratore inverso per iterare attraverso un elenco all'indietro

In questa tecnica, un iteratore inverso 'ITR' viene costruito e inizializzato con il metodo RBEGIN () per indicare l'ultimo componente in un elenco, ma dopo ogni iterazione, 'ITR' si riferisce al componente successivo in un elenco in modo inverso, e iterate fino a quando non raggiunge l'inizio dell'elenco.

#includere
Utilizzo dello spazio dei nomi std;
vuoto display (set x)

Imposta :: inversa_iteratoriatr;
per (itr = x.rbegin ();
itr != x.rend (); ITR ++)

cout<< *itr<< " ";


int main ()

Imposta x;
\X.inserire (600);
X.inserire (400);
X.inserire (800);
X.inserire (700);
X.Insert (200);
display (x);
restituzione 0;

All'inizio del programma, integriamo il file di intestazione . Usiamo anche lo spazio dei nomi standard. Abbiamo usato il metodo VIDE Display () per mostrare il contenuto del set. Per archiviare questi componenti, abbiamo dichiarato la variabile "X". Abbiamo usato un ciclo "per" per indicare gli elementi. Le procedure RBegin () e Rend () sono applicate all'interno del loop per. Il rbegin () è un metodo integrato che fornisce un iteratore inverso puntato all'ultimo componente dell'elenco.

Il rend () è anche il metodo integrato che genera un iteratore inverso che porta all'ipotetico componente che precede il primo componente nell'elenco. Viene generato un iteratore e inizierebbe e procederebbe fino a quando non raggiunge la fine dell'elenco incrementando in ogni ciclo.

Successivamente, abbiamo usato il comando "cout" per ottenere il puntatore dell'iteratore. La funzione principale () viene quindi invocata. In questo caso, i numeri vengono inseriti in un ordine randomizzato. La funzione insert () viene utilizzata per incorporare i numeri interi in un elenco. Quindi applicheremo il metodo Display () per mostrare tutti i numeri nell'elenco. Alla fine, inseriamo il comando 'return 0' per terminare il programma.

Conclusione

In questo articolo, abbiamo discusso di diversi metodi di iterazione attraverso l'elenco in C++. Iteteramo attraverso un elenco con l'aiuto di un iteratore, a portata di distanza per loop e iteratore inverso. Tutte queste metodologie sono state descritte in alcuni programmi.