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.