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. |