In C ++ ist STD :: LISTE wie ein Container, der die Elemente am nicht kontagischen Speicherort speichert. Die "std :: liste" wird als doppelt verknüpfte Liste implementiert. Wir können jedes Element der Liste einfügen oder entfernen, die an einem beliebigen Ort gespeichert sind, wodurch die Listen bidirektional und sequentiell gestaltet werden. Bidirektional, da wir von vorne und hinten auf die Listenelemente zugreifen können (von jedem Ort). Sequentiell, weil wir überall in der Sequenz auf die Elemente zugreifen können. Listen verhalten sich als doppelt verknüpfte Listen. Doppelt verknüpfte Listen können ihre Elemente überall im Speicher speichern und können von jedem Ort auf der Laufzeit von jeder Stelle zugegriffen werden. Die Liste gehört zu einer Standard -Vorlagenbibliothek wie Arrays und Vektoren, aber Listen ermöglichen keinen schnellen Zugriff, der mit anderen Datenstrukturen vergleichbar ist. Lassen Sie uns in diesem Artikel "STD :: List" mit der praktischen Implementierung von Listen mit unterschiedlichen Vorgängen erörtert.
Bibliothek integrieren
Für die Verwendung von Listen in Code muss der Programmierer die erforderliche Bibliothek importieren. Die Bibliothek für die Verwendung der Liste ist “Liste”. Wir können dies importieren, indem wir die folgende angegebene Anweisung hinzufügen:
#enthalten
Ohne diese Bibliothek zu importieren, können wir die Liste und ihre Methoden im Code nicht verwenden.
Warum verwenden wir eine Liste??
Sie müssen sich fragen, warum wir eine Liste verwenden, wenn wir Vektoren und Arrays haben. Sie werden sehen, warum wir nach dem Lesen der Argumente, die im Folgenden aufgeführt sind, eher eine Liste als eine andere Art von Datenstruktur auswählen:
Syntax
Vorlage < class_type , class Allocation = allocator> Klassenliste;
Oder
STD :: LISTEList_1;
Das Attribut „STD“ repräsentiert die Standard -Vorlagenbibliothek. Der Operator der Bereichsauflösung teilt dem Compiler mit, dass wir eine Klasse von „std“ verwenden werden,. Dann definieren wir den Typ der Liste in den Winkelklammern. Außerhalb der Winkelklammern geben wir den Namen der Liste an.
Parameter
Methoden
Es gibt mehrere Funktionen, mit denen wir die Quarkoperationen der Liste ermöglichen können.
Verwenden Sie STD :: LISTE
Sprechen wir über die Implementierung von Listen im Programm mithilfe der Standardlistenvorlage für Listen.
Code:
#enthalten
#enthalten
int main ()
std :: listlist_1 = 8.72, 6.7, 9.4, 5.3 ;
std :: Cout<<"The values are: \n";
für (float value: list_1)
std :: Cout << value << '\n';
Der erste Schritt zeigt die Integration von zwei Bibliotheken. Die erste Bibliothek enthält alle Eingangs- und Ausgabemethoden, mit denen wir den Wert abrufen oder drucken. Dann ist die zweite Bibliothek . Wir importieren dies, um auf die Listenmethoden zuzugreifen. Die main () -Funktion heißt. Hier definieren wir die Liste der Schwimmertypen und initialisieren die Liste auf die gleiche Weise wie initialisieren wir die Arrays. Die "std :: liste" teilt dem Compiler mit, dass wir die Liste definieren. In Angle Brackets teilt „Float“ den Typ der Liste mit. Stellen Sie als nächstes eine Nachricht auf dem Bildschirm mit dem Befehl „std :: cout“ dar. Führen Sie danach die "für" -Schloop aus, um die Liste auf der Konsole zu drucken. In der Klammung von „für“ definiert eine Schwimmertypvariable, die auf die Werte aus der Liste zugreift. Wir können die gesamte Liste nicht direkt ausdrucken, deshalb verwenden wir eine Schleife. Verwenden Sie im Körper von „für“ das „std :: cout“, um die Werte aus der Liste anzuzeigen. Auf diese Weise initialisieren und drucken wir die Listen.
Ausgang
Die Werte sind:Holen Sie sich die Listengröße und fügen Sie Elemente ein
Beobachten wir, wie wir die Größe einer Liste erhalten und die Elemente nach der Initialisierung der Liste in eine Liste einfügen können.
Code:
#enthalten
#enthalten
int main ()
std :: list list_0 1,3,4,6,7;
std :: list :: iterator iter_0;
iter_0 = list_0.Start();
List_0.insert (iter_0,5);
List_0.Insert (iter_0,2,80);
--ITER_0;
std :: Cout << "List_0 contains:";
für (iter_0 = list_0.Start(); ITER_0!= List_0.Ende(); ++ iter_0)
std :: Cout << "\t" << *iter_0;
std :: Cout<<"\nThe size of the list is :"<Rückkehr 0;
Die Bibliotheken, die auf die Eingabe-/Ausgabemethoden und die Listenmethoden zugreifen, werden zuerst importiert. Rufen Sie dann die Main () -Methode auf, um eine Liste eines Ganzzahltyps zu definieren und zu initialisieren. Hier definieren wir einen anderen Listen -Iterator des Ganzzahl -Typs "iter_0", der in der Liste iteriert. Verwenden Sie nun die Methode mit Beginn (), da sie den Iterator des ersten Elements der Liste zurückgibt. Dann möchten wir einen Wert in die erste Liste einfügen, die "list_0" lautet. Also nennen wir die Funktion Insert (). Es enthält zwei Argumente - zuerst ist der List_name, der das neue Element vorübergehend speichert. Und das zweite Argument ist der „Wert“. In der Methode begin () haben wir den Standort oder den Index nicht gegeben. Fügen Sie einen anderen Wert ein und geben Sie drei Parameter an die Methode Insert () weiter. Erstens iteriert es. Zweitens wird die Anzahl der Werte angezeigt, die wir einfügen möchten. Und dritter ist der Wert, der eingefügt wird. Hier wird „80“ im zweiten und dritten Index in der Liste eingefügt. Nach dem Einsetzen führen wir eine Abnahme in der Liste durch. Drucken Sie den Text "List_0 enthält:" Text in der Konsole und verwenden Sie die "für" -Schloop, um die Listenelemente anzuzeigen. Initialisieren Sie den Iterator in der „für“ -Schloop, um aus der Liste zu beginnen, und schleifen Sie in der Liste weiter, bis wir das Ende der Liste erreichen und den Iterator erhöhen. Zeigen Sie im Körper von „für“ die Liste der Elemente an, die wir mit einem anderen Listen -Iterator erhalten haben. Der "*iter_0" greift auf den Speicherort der Listenelemente zu und "Cout" druckt den Wert auf der Konsole aus. Außerhalb der Schleife "für", unter Verwendung der Funktion Size (), erwerben wir die Größe der Liste.
Ausgang:
List_0 enthält: 5 80 80 1 3 4 6 7Abschluss
In diesem Artikel haben wir ausführlich über die „std :: liste“ erläutert. Nach einer kurz. Listen sind aufgrund ihrer integrierten Methoden einfach zu bedienen. Wir können die Elemente überall in der Liste einfügen und das gleiche gilt für die Extraktion. Es fungiert als doppelt verknüpfte Liste.