STD -Liste C ++

STD -Liste C ++

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:

  • Die Liste bietet uns im Vergleich zu anderen Datenstrukturen ein besseres Einfügen, Aktualisieren und Löschen von Funktionen.
  • Es bietet eine gute Leistung mit Algorithmen, die Vorgänge wie Einfügung, Löschen oder Update ausführen.
  • Listen bieten uns viele Methoden zum Insertion und Löschen wie Push () und Pop () usw.

Syntax

Vorlage < class_type , class Allocation = allocator > Klassenliste;

Oder

STD :: LISTE List_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

  • Typ: Der Typ der Daten, die wir in der Liste speichern, wie in der zweiten Anweisung, speichern wir die Ganzzahltypdaten in der Liste. Es ist obligatorisch, die Art der Daten zu definieren, die in der Liste gespeichert sind.
  • Allocator: Das Objekt eines Typs, der die Details der darin darin enthaltenen Liste versteckt. Dies ist optional.

Methoden

Es gibt mehrere Funktionen, mit denen wir die Quarkoperationen der Liste ermöglichen können.

  • Inise (): Es wird die Elemente in der Liste eingefügt.
  • push_back (): Es fügt die Elemente in der Liste von hinten ein.
  • push_front (): Es fügt die Elemente in der Liste von vorne ein.
  • pop_back (): Es entfernt ein Element von der Rückseite der Liste.
  • size (): Es findet die Größe der Liste.
  • Back (): Es zeigt das letzte Listenelement.

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:
8.72
6.7
9.4
5.3

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 7
Die Größe der Liste ist: 8

Abschluss

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.