Listen Sie Iterator C ++ auf

Listen Sie Iterator C ++ auf
Eine Liste ist eine Datenstruktur, die die darin enthaltenen Elemente in Form einer Sequenz enthält. Genau wie Arrays enthält es auch die Mitglieder desselben Datentyps gleichzeitig. In diesem Leitfaden erfahren wir die Iteratoren in der Liste in der C ++ - Programmiersprache.

Iteratoren

Ein Iterator wirkt wie ein Zeiger, der die Elemente in der Liste angibt. Iteratoren werden hauptsächlich verwendet, um die Daten innerhalb einer Liste zu durchgehen. Iteratoren werden auch verwendet, um die Speicheradresse der Container anzugeben. In diesem Artikel werden einige Operationen von Iteratoren erklärt.

Start()

Diese fun () -Funktion hat einen Iterator, der mit dem Wert zurückgegeben wird, der das erste Element zeigt. Es unterscheidet sich ganz von der Vorder- () -Funktion des Iterator.

Ende()

Es gibt einen Iterator zurück, der auf das letzte Element der Liste hinweist.

Vorauszahlung()

Dies ist ein wichtiger Vorgang, da es verwendet wird, um die Position des Iterators auf die angegebene im Parameter angegebene Nummer zu erhöhen.

Nächste()

Diese Funktion gibt den neuen Iterator zurück, nachdem sie seine Position fortgeschritten hat, die im Argument erwähnt wird.

Prev ()

Dies ist die Funktion, die verwendet wird, um den neuen Iterator zu bringen, der den Wert zeigt, der auf die beschriebene Zahl in der Liste verringert wurde.

Inserter ()

Dies ist die Funktion, mit der die neuen Elemente in jeder Position in der Liste eingefügt werden können. Es hat zwei Argumente. Einer ist der Name des Containers und der andere ist der Zeiger, der die Position zeigt, an der das neue Element oder die Elemente eingefügt werden sollen.

Beispiel 1

Begin (), end ():

Dieses Beispiel enthält den Quellcode, um die Arbeit dieser beiden Funktionen zu demonstrieren. Während wir diese Funktionen auf der Liste anwenden, wird die Bibliothek für die Liste hier im ersten Schritt verwendet.

#enthalten

Dann im Hauptprogramm deklarieren wir eine Liste mit 5 Ganzzahlen.

Aufführen MyList 1,2,3,4,5;

Jetzt möchten wir alle Inhalte der Liste anzeigen. Es wird also ein für Schleife verwendet. Wie wir wissen, erfordert A für Schleife einen Start- und Endpunkt in der Schleifeninitiative, um die Schleife in der Liste "MyList" zu starten. begin () Funktion wird hier verwendet. Und am Ende „MyList. End () ”wird verwendet. 'MyList' ist das Objekt, mit dem auf die Liste zugreifen wird.

Es wird ein Iterator erstellt, der sich bis zum Ende bewegt, indem in jeder Schleife inkrementiert wird. Verwenden Sie zum Ausführen des Quellcode. Gehen Sie zum Linux-Terminal und verwenden Sie dann die folgenden Befehle.

$ g ++ -o Dateidatei.C
$ ./Datei

Der resultierende Wert enthält alle Zahlen, die wir über das Hauptprogramm in die Liste eingegeben haben.

Beispiel 2

Vorauszahlung ():

Wie oben beschrieben, wird diese Funktion verwendet, um den Iterator auf eine bestimmte Zahl zu erhöhen, die als Argument übergeben wurde. Betrachten Sie nun das folgende Beispiel, in dem wir eine Iteratorklasse mit der Listenklasse angewendet haben, damit alle Funktionen der Iteratoren leicht ausgeführt werden können.

Nach der Erklärung einer Liste wird der Iterator in die Liste deklariert.

Aufführen Iterator :: ptr = myList.Start();

"PTR" ist ein Objekt des Iterators. Dem Iterator wird die Funktion begin () zugewiesen. Jetzt müssen wir in Richtung des jeweiligen Punktes springen, wir werden die Iteratorposition bis zu 2 erhöhen, und dies erfolgt mit der Funktion Advance ().

Advance (PTR, 2);

Diese Funktion nimmt das Objekt des Iterators und die Nummer an, um die Position anzuzeigen, in der wir den Iterator verschieben möchten. Danach wird die Position des Iterators an diesem Punkt angezeigt. Standardmäßig war es an der ersten Position; Durch die Verwendung von Advance wird es jetzt bei 3 sein.

Speichern Sie den Quellcode in der Datei und führen Sie ihn dann aus, um die ausgeführten Werte anzuzeigen.

Beispiel 3: Next (), prev ()

Beide Iteratoren werden mit dem Wert zurückgegeben, wenn der Iterator inkrementiert ist und der Iterator abgeschlossen ist. Die Positionen werden im Argument erwähnt, wie sie im Voraus () Funktionsparameter beschrieben werden. Nach der Verwendung der Bibliotheken im Hauptprogramm wird die Liste im Beispiel zuerst deklariert. Danach werden Iteratoren erstellt und dann in die Liste deklariert. Für beide Funktionen werden zwei separate Iteratoren mit verschiedenen Iteratorzeigerobjekten erstellt.

Zunächst werden wir den nächsten Iterator verwenden, der den neuen Iterator zurückgibt, der auf 4 zeigt.

Auto it = next (ptr, 3);

Der Iterator ist automatisch generiert und ruft die nächste Funktion mit dem Zeiger und der Nummer auf, die der Iterator inkrementiert wird. Genau wie die Funktion Advance () wird der Iterator in Richtung der angegebenen Position erhöht. Der nächste Schritt besteht nun darin, die Funktion prev () zu verwenden. Der PREV () enthält auch den oben erstellten Objektzeiger und die Nummer, die zurückgeht. Diese Funktion gibt einen neuen Iterator zurück, der auf 3 hinweist.

Auto it1 = prev (ftr, 3);

Am Ende werden wir in beiden Fällen die Position neuer Iteratoren anzeigen. Beide Werte werden durch die Verwendung der Zeiger angezeigt, da sie die Positionen in der Liste speichern. Kompilieren Sie den Code, und dann sehen Sie, dass sowohl die Funktionen der Iteratoren prev () als auch als Next () die Werte in der Liste über den Compiler anzeigen.

Beispiel 4

Inserter ()

Wie wir oben erläutert haben, fügt diese Funktion den neuen Wert an einer beliebigen Position in der Liste ein. Deklarieren Sie nun im Beispiel zuerst eine Liste mit 3 Zahlen von Ganzzahlen.

In Inserter () können wir eine einzelne Zahl und eine Liste von Zahlen einfügen. In diesem Beispiel werden wir also eine Liste von drei Zahlen in die oben erstellte Liste einfügen. Erstellen Sie einen Iterator und deklarieren Sie ihn dann der von uns erstellten Liste. Da wir die neue Liste an einem bestimmten Ort einfügen müssen, müssen wir den Iterator an dieser Position inkrementieren. Und dies geschieht mit dem Iterator Advance ().

Advance (PTR, 2);

Es wird den Iterator in die 2. Position erhöht; Es bedeutet nach 2, die neue Liste wird eingefügt. Mit Hilfe von Objekten kopieren Elemente einer Liste in die zweite Liste. Wir werden hier eine Kopiefunktion verwenden.

Kopie (AR1.begin (), ar1. End (), Inserter (ar, ptr));

Die Kopiefunktion verwendet den Beginn der zweiten Liste und kopiert bis zum Ende der Liste weiter, um die Elemente zu kopieren, um die Elemente zu kopieren. Die Inserter -Funktion nimmt das Objekt der ersten Liste und das Iteratorobjekt auf, um die Position anzuzeigen, an der die Liste eingefügt werden muss.

Um alle Elemente anzuzeigen, werden wir eine für die Schleife verwenden.

Die resultierenden Werte, die aus der Ausführung des obigen Code erhalten werden, zeigen, dass die erste Liste die Nummern beider Listen enthält.

Abschluss

'List Iterator C' ist der Artikel, der die Informationen zu den Art von Artikeln enthält, die wir auf die Liste angewendet haben. Alle diese Operationen werden mit der grundlegenden Beschreibung erklärt. Wir haben auch einige Beispiele für jede Funktion des Iterators zitiert. Diese Beispiele werden im Linux -Betriebssystem mit dem Texteditor und dem Linux -Terminal implementiert.