Elenca iteratore C ++

Elenca iteratore C ++
Un elenco è una struttura di dati che contiene gli elementi in esso sotto forma di una sequenza. Proprio come gli array, contiene anche i membri dello stesso tipo di dati alla volta. In questa guida, impareremo gli iteratori nell'elenco nel linguaggio di programmazione C ++.

Iteratori

Un iteratore si comporta come un puntatore che indica gli elementi all'interno dell'elenco. Gli iteratori vengono utilizzati principalmente per spostarsi attraverso i dati all'interno di un elenco. Gli iteratori vengono anche utilizzati per indicare l'indirizzo di memoria dei contenitori. In questo articolo, sono spiegate alcune operazioni di iteratori.

Inizio()

Questa funzione inizia () ha un iteratore che viene restituito con il valore che mostra il primo elemento. È abbastanza diverso dalla funzione frontale () dell'iteratore perché la funzione anteriore restituisce un riferimento, ma l'inizio () restituisce l'iteratore stesso.

FINE()

Restituisce un iteratore che indica l'ultimo elemento dell'elenco.

Avanzare()

Questa è un'operazione importante in quanto viene utilizzata per incrementare la posizione dell'iteratore al numero specificato menzionato nel parametro.

Prossimo()

Questa funzione restituisce il nuovo iteratore dopo aver avanzato la sua posizione, che è menzionata nell'argomento.

Prev ()

Questa è la funzione che viene utilizzata per portare il nuovo iteratore che mostra il valore che è stato decrementato al numero descritto nell'elenco.

Inserter ()

Questa è la funzione che viene utilizzata per inserire i nuovi elementi in qualsiasi posizione nell'elenco. Ha due argomenti. Uno è il nome del contenitore e l'altro è il puntatore che mostra la posizione in cui devono essere inseriti il ​​nuovo elemento o gli elementi.

Esempio 1

Inizio (), end ():

Questo esempio contiene il codice sorgente per dimostrare il funzionamento di queste due funzioni. Dato che stiamo applicando queste funzioni nell'elenco, la libreria per l'elenco viene utilizzata qui nel primo passaggio.

#includere

Quindi all'interno del programma principale, dichiariamo un elenco con 5 numeri interi.

Elenco MyList 1,2,3,4,5;

Ora vogliamo visualizzare tutto il contenuto dell'elenco. Quindi viene utilizzato un ciclo per loop. Come sappiamo, un loop richiede un punto di partenza e finale nell'iniziativa Loop per avviare il ciclo nell'elenco "Mylist". La funzione inizia () viene utilizzata qui. E alla fine, “Mylist. viene utilizzato fine () ". 'mylist' è l'oggetto che viene utilizzato per accedere all'elenco.

Viene creato un iteratore che inizierà e si muoverà fino alla fine aumentando in ogni loop. Per eseguire il codice sorgente, utilizzare un compilatore G ++ per la compilation e quindi l'esecuzione del codice. Vai al terminale Linux e quindi usa i comandi sotto citazione.

file file file $ g ++ -o.C
$ ./file

Il valore risultante conterrà tutti i numeri che abbiamo inserito nell'elenco tramite il programma principale.

Esempio 2

Avanzare ():

Come descritto sopra, questa funzione viene utilizzata per incrementare l'iteratore a un numero specifico superato come argomento. Ora considera il seguente esempio in cui abbiamo applicato una classe iteratore con la classe di elenco in modo che tutte le funzioni degli iteratori possano essere eseguite facilmente.

Dopo la dichiarazione di un elenco, l'iteratore viene dichiarato nell'elenco.

Elenco iteratore :: ptr = mylist.inizio();

"PTR" è un oggetto dell'iteratore. A questo iteratore viene assegnata la funzione Begin (). Ora dobbiamo saltare verso il punto particolare, increteremo la posizione dell'iteratore fino a 2 e viene eseguita utilizzando la funzione Advance ().

Anticipo (PTR, 2);

Questa funzione prende l'oggetto dell'iteratore e il numero per mostrare la posizione in cui vogliamo spostare l'iteratore. Successivamente, viene visualizzata la posizione dell'iteratore. Per impostazione predefinita, era in prima posizione; Usando Advance, ora sarà a 3.

Salva il codice sorgente nel file, quindi eseguilo per visualizzare i valori eseguiti.

Esempio 3: Next (), prev ()

Entrambi gli iteratori vengono restituiti con il valore quando l'iteratore viene incrementato e una volta che l'iteratore viene decrementato. Le posizioni sono menzionate nell'argomento, poiché sono descritte in anticipo () parametro funzione. Dopo aver usato le librerie all'interno del programma principale, l'elenco viene dichiarato per primo nell'esempio. Successivamente, gli iteratori vengono creati e quindi dichiarati all'elenco. Vengono creati due iteratori separati con diversi oggetti puntatore iteratore per entrambe le funzioni.

Innanzitutto, useremo il prossimo iteratore che restituirà il nuovo iteratore che punta verso 4.

Auto IT = Next (PTR, 3);

L'iteratore è generato automaticamente e chiamerà la funzione successiva con il puntatore e il numero che vogliamo che l'iteratore venga incrementato. Quindi, proprio come la funzione Advance (), l'iteratore increverà verso la posizione data. Ora il prossimo passo è utilizzare la funzione prev (). Il prev () conterrà anche il puntatore dell'oggetto creato sopra e il numero per tornare indietro. Questa funzione restituirà un nuovo iteratore che punterà verso 3.

Auto it1 = prev (ftr, 3);

Alla fine, mostreremo la posizione di nuovi iteratori in entrambi i casi. Entrambi i valori vengono visualizzati utilizzando i puntatori, poiché archiviano le posizioni nell'elenco. Compilare il codice e quindi vedrai che sia le funzioni di iteratori prev () che next () visualizzano i valori nell'elenco tramite il compilatore.

Esempio 4

Inserter ()

Come abbiamo spiegato sopra, questa funzione inserisce il nuovo valore in qualsiasi posizione nell'elenco. Quindi ora, nell'esempio, prima dichiara un elenco con 3 numeri di numeri interi.

In inserter (), possiamo inserire un singolo numero e un elenco di numeri. Quindi in questo esempio, inseriremo un elenco di tre numeri all'interno dell'elenco che abbiamo creato sopra. Creare un iteratore e quindi dichiararlo all'elenco che abbiamo creato. Dato che dobbiamo inserire il nuovo elenco in un luogo specifico, dobbiamo incrementare l'iteratore in quella posizione. E questo viene fatto usando l'iteratore Advance ().

Anticipo (PTR, 2);

Increterà l'iteratore alla seconda posizione; Significa dopo 2, il nuovo elenco verrà inserito. Quindi, con l'aiuto di oggetti, gli elementi di un elenco copieranno nel secondo elenco. Useremo una funzione di copia qui.

Copia (AR1.inizio (), ar1. end (), inserter (ar, ptr));

La funzione di copia utilizzerà l'inizio () e la fine (), per iniziare a copiare gli elementi dall'inizio del secondo elenco e continuare a copiare fino alla fine dell'elenco. La funzione Inserter prende l'oggetto del primo elenco e l'oggetto iteratore per indicare la posizione in cui l'elenco deve essere inserito.

Per visualizzare tutti gli elementi, useremo un loop per.

I valori risultanti ottenuti dall'esecuzione del codice sopra mostrano che il primo elenco contiene i numeri di entrambi gli elenchi.

Conclusione

'Elenco Iterator C' è l'articolo che contiene le informazioni relative ai tipi di articoli che abbiamo applicato all'elenco. Tutte queste operazioni sono spiegate con la descrizione di base. Abbiamo anche citato alcuni esempi per ogni funzione dell'iteratore. Questi esempi sono implementati nel sistema operativo Linux utilizzando l'editor di testo e il terminale Linux.