C ++ - Bibliothek - <Stapel>
Einführung
Stack ist eine Datenstruktur, die für den Betrieb im LIFO-Kontext (Last in First out) entwickelt wurde. In Stapel werden Elemente eingefügt sowie von nur einem Ende entfernt.
Die Stapelklasse ist der Containeradapter. Container ist ein Objekt, das Daten des gleichen Typs enthält. Der Stapel kann aus verschiedenen Sequenzcontainern erstellt werden. Wenn kein Container bereitgestellt wird, wird der Standard- Deque- Container verwendet. Containeradapter unterstützen keine Iteratoren, daher können wir sie nicht zur Datenmanipulation verwenden. Sie unterstützen jedoch die Elementfunktionen push () und pop () zum Einfügen bzw. Entfernen von Daten.
Definition
Unten finden Sie die Definition von std :: stack aus der <stack> -Headerdatei
template <class T, class Container = deque<T> > class stack;
Parameter
T - Typ des enthaltenen Elements.
T kann durch einen anderen Datentyp einschließlich eines benutzerdefinierten Typs ersetzt werden.
Container - Typ des zugrunde liegenden Containerobjekts.
Mitgliedertypen
Die folgenden Elementtypen können von Elementfunktionen als Parameter oder Rückgabetyp verwendet werden.
Sr.Nr. | Mitgliedertypen | Definition |
---|---|---|
1 | Werttyp | T (Erster Parameter der Vorlage) |
2 | Containertyp | Zweiter Parameter der Vorlage |
3 | size_type | size_t |
4 | Referenz | Werttyp& |
5 | const_reference | const value_type & |
Funktionen von <Stack>
Unten finden Sie eine Liste aller Methoden aus dem <stack> -Header.
Konstruktoren
Sr.Nr. | Methode & Beschreibung |
---|---|
1 | stack :: stack Standardkonstruktor Konstruiert ein leeres Stapelobjekt mit null Elementen. |
2 | stack :: stack copy Konstruktor Erstellt einen Stapel mit einer Kopie aller Elemente, die in einem anderen Stapel vorhanden sind. |
3 | stack :: stack move Konstruktor Konstruiert einen Stapel mit dem Inhalt anderer mithilfe der Verschiebungssemantik. |
Zerstörer
Sr.Nr. | Methode & Beschreibung |
---|---|
1 | stack :: ~ stack Zerstört den Stapel durch Freigabe des Containerspeichers. |
Mitgliedsfunktionen
Sr.Nr. | Methode & Beschreibung |
---|---|
1 | stack :: emplace Konstruiert und fügt ein neues Element oben im Stapel ein. |
2 | stack :: leer Testet, ob der Stapel leer ist oder nicht. |
3 | stack :: operator = Version kopieren Weist dem Stapel neue Inhalte zu, indem alte ersetzt werden. |
4 | stack :: operator = Version verschieben Weist dem Stapel neue Inhalte zu, indem alte ersetzt werden. |
5 | stack :: pop Entfernt das oberste Element vom Stapel. |
6 | stack :: push copy version Fügt ein neues Element oben im Stapel ein. |
7 | stack :: push move version Fügt ein neues Element oben im Stapel ein. |
8 | Stapelgrösse Gibt die Gesamtzahl der im Stapel vorhandenen Elemente zurück. |
9 | stack :: swap Tauscht den Inhalt des Stapels gegen den Inhalt eines anderen Stapels aus. |
10 | stack :: top Gibt einen Verweis auf das oberste Element des Stapels zurück. |
Überladene Funktionen ohne Mitglieder
Sr.Nr. | Methode & Beschreibung |
---|---|
1 | operator == Testet, ob zwei Stapel gleich sind oder nicht. |
2 | Operator! = Testet, ob zwei Stapel gleich sind oder nicht. |
3 | Operator < Testet, ob der erste Stapel kleiner als der andere ist oder nicht. |
4 | Operator <= Testet, ob der erste Stapel kleiner oder gleich dem anderen ist oder nicht. |
5 | Betreiber> Testet, ob der erste Stapel größer als der andere ist oder nicht. |
6 | Operator> = Testet, ob der erste Stapel größer oder gleich dem anderen ist oder nicht. |
7 | Tauschen Tauscht den Inhalt von zwei Stapeln aus. |