Biblioteka C ++ - <stack>

Wprowadzenie

Stos to struktura danych zaprojektowana do działania w kontekście LIFO (Last in First out). W stosie elementy są wstawiane, a także wyjmowane tylko z jednego końca.

Klasa stosu to adapter kontenera. Kontener to obiekty, które przechowują dane tego samego typu. Stos można utworzyć z różnych kontenerów sekwencji. Jeśli kontener nie jest dostarczony, używa domyślnego kontenera deque . Adaptery kontenerów nie obsługują iteratorów, dlatego nie możemy ich używać do manipulacji danymi. Jednak obsługują one funkcje składowe push () i pop () odpowiednio do wstawiania i usuwania danych.

Definicja

Poniżej znajduje się definicja std :: stack z pliku nagłówkowego <stack>

template <class T, class Container = deque<T> > class stack;

Parametry

  • T - Typ zawartego elementu.

    T można zastąpić dowolnym innym typem danych, w tym typem zdefiniowanym przez użytkownika.

  • Container - Typ bazowego obiektu kontenera.

Typy członków

Następujące typy elementów członkowskich mogą być używane jako parametry lub zwracane typy przez funkcje składowe.

Sr.No. Typy członków Definicja
1 typ wartości T (pierwszy parametr szablonu)
2 rodzaj kontenera Drugi parametr szablonu
3 typ_rozmiaru size_t
4 odniesienie typ wartości&
5 const_reference const value_type &

Funkcje z <stack>

Poniżej znajduje się lista wszystkich metod z nagłówka <stack>.

Konstruktorzy

Sr.No. Metoda i opis
1 stack :: stack domyślny konstruktor

Konstruuje pusty obiekt stosu, zawierający zero elementów.

2 stack :: stack konstruktor kopiujący

Konstruuje stos z kopią każdego elementu znajdującego się na innym stosie.

3 stack :: stack konstruktor ruchu

Konstruuje stos z zawartością innych przy użyciu semantyki przenoszenia.

Burzyciel

Sr.No. Metoda i opis
1 stos :: ~ stos

Niszczy stos, zwalniając przydział pamięci kontenera.

Funkcje składowe

Sr.No. Metoda i opis
1 stos :: embrace

Konstruuje i wstawia nowy element na górze stosu.

2 stos :: pusty

Sprawdza, czy stos jest pusty, czy nie.

3 stos :: operator = kopiuj wersję

Przypisuje nową zawartość do stosu, zastępując stare.

4 stack :: operator = przenieś wersję

Przypisuje nową zawartość do stosu, zastępując stare.

5 stos :: pop

Usuwa górny element ze stosu.

6 stack :: push copy wersja

Wstawia nowy element na górę stosu.

7 stack :: push move wersja

Wstawia nowy element na górę stosu.

8 stos :: rozmiar

Zwraca całkowitą liczbę elementów obecnych w stosie.

9 stack :: swap

Zamienia zawartość stosu na zawartość innego stosu.

10 stos :: góra

Zwraca odniesienie do najwyższego elementu stosu.

Przeciążone funkcje niebędące członkami

Sr.No. Metoda i opis
1 operator ==

Sprawdza, czy dwa stosy są równe, czy nie.

2 operator! =

Sprawdza, czy dwa stosy są równe, czy nie.

3 operator <

Sprawdza, czy pierwszy stos jest mniejszy niż inny, czy nie.

4 operator <=

Sprawdza, czy pierwszy stos jest mniejszy lub równy drugiemu, czy nie.

5 operator>

Sprawdza, czy pierwszy stos jest większy niż inny, czy nie.

6 operator> =

Sprawdza, czy pierwszy stos jest większy lub równy drugiemu, czy nie.

7 zamiana

Wymienia zawartość dwóch stosów.