Biblioteka C ++ - <kolejka>
Wprowadzenie do kolejki
Kolejka to struktura danych zaprojektowana do działania w kontekście FIFO (First in First out). W kolejce elementy są wstawiane od tyłu i usuwane z przodu .
Klasa kolejki to adapter kontenera. Kontener to obiekty, które przechowują dane tego samego typu. Kolejkę można utworzyć z różnych kontenerów sekwencji. 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 :: queuer z pliku nagłówkowego <queue>
template <class T, class Container = deque<T> > class queue;
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 & |
6 | typ_różnicy | ptrdiff_t |
Funkcje z <kolejki>
Poniżej znajduje się lista wszystkich metod z nagłówka <queue>.
Konstruktorzy
Sr.No. | Metoda i opis |
---|---|
1 | queue :: queue domyślny konstruktor Konstruuje pusty obiekt kolejki bez elementów. |
2 | queue :: queue initialize constructor Konstruuje obiekt kolejki i przypisuje wewnętrzny kontener za pomocą kopii ctnr . |
3 | queue :: queue move konstruktor Konstruuje kolejkę z zawartością innych przy użyciu semantyki przenoszenia. |
4 | queue :: queue konstruktor kopiujący Konstruuje Kolejka kopię każdego pierwiastki występują w istniejących kolejka inne . |
Burzyciel
Sr.No. | Metoda i opis |
---|---|
1 | queue :: ~ queue Niszczy kolejkę, zwalniając przydział pamięci kontenera. |
Funkcje składowe
Sr.No. | Metoda i opis |
---|---|
1 | queue :: back Zwraca odwołanie do ostatniego elementu kolejki. |
2 | queue :: embrace Konstruuje i wstawia nowy element na końcu kolejki. |
3 | queue :: empty Sprawdza, czy kolejka jest pusta, czy nie. |
4 | queue :: front Zwraca odwołanie do pierwszego elementu kolejki. |
5 | queue :: operator = skopiuj wersję Przypisuje nową zawartość do kolejki, zastępując stare. |
6 | queue :: operator = przenieś wersję Przypisuje nową zawartość do kolejki, zastępując stare. |
7 | queue :: pop Usuwa przedni element kolejki. |
8 | queue :: wersja push copy Wstawia nowy element na koniec kolejki. |
9 | queue :: push move wersja Wstawia nowy element na koniec kolejki. |
10 | queue :: size Zwraca całkowitą liczbę elementów obecnych w kolejce. |
11 | queue :: swap Wymienia zawartość kolejki z zawartością innej kolejki. |
Przeciążone funkcje niebędące członkami
Sr.No. | Metoda i opis |
---|---|
1 | operator == Sprawdza, czy dwie kolejki są równe, czy nie. |
2 | operator! = Sprawdza, czy dwie kolejki są równe, czy nie. |
3 | operator < Sprawdza, czy pierwsza kolejka jest mniejsza niż inna, czy nie. |
4 | operator <= Sprawdza, czy pierwsza kolejka jest mniejsza lub równa innej, czy nie. |
5 | operator> Sprawdza, czy pierwsza kolejka jest większa niż inna, czy nie. |
6 | operator> = Sprawdza, czy pierwsza kolejka jest większa lub równa innej, czy też nie. |
7 | zamiana Wymienia zawartość dwóch kolejek. |
Wprowadzenie do Priority_queue
Kolejka priorytetowa to struktura danych kolejki, która ma priorytet. Kolejka priorytetowa jest analogiczna do struktury danych sterty, w której element można wstawić w dowolnej kolejności i zawsze najpierw pobierany jest maksymalny element sterty .
Definicja
Poniżej znajduje się definicja std :: priority_queue z pliku nagłówkowego <queue>
template <class T, class Container = vector<T>,
class Compare = less<typename Container::value_type> < class priority_queue;
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.
Compare - Obiekt porównania, który ma zostać użyty do uporządkowania Priority_queue.
Może to być wskaźnik funkcji lub obiekt funkcji, który może porównać swoje dwa argumenty.
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 & |
6 | typ_różnicy | ptrdiff_t |
Funkcje z <kolejki>
Poniżej znajduje się lista wszystkich metod z nagłówka <queue>.
Konstruktorzy
Sr.No. | Metoda i opis |
---|---|
1 | Priority_queue :: priority_queue domyślny konstruktor Konstruuje pustą Priority_queue z zerowym elementem. |
2 | Priority_queue :: priority_queue inicjalizuje konstruktor Konstruuje obiekt Priority_queue i przypisuje wewnętrzny kontener za pomocą kopii ctnr . |
3 | Priority_queue :: priority_queue zakres konstruktora Konstruuje Priority_queue z tyloma elementami w zakresie od pierwszego do ostatniego. |
4 | priority_queue :: priority_queue konstruktor przenoszenia Konstruuje Priority_queue z zawartością innych przy użyciu semantyki przenoszenia. |
5 | Priority_queue :: priority_queue konstruktor kopiujący Konstruuje Priority_queue z kopią każdego elementu obecnego w istniejącej Priority_queue other. |
Burzyciel
Sr.No. | Metoda i opis |
---|---|
1 | Priority_queue :: ~ priority_queue Niszczy Priority_queue przez cofnięcie alokacji pamięci kontenera. |
Funkcje składowe
Sr.No. | Metoda i opis |
---|---|
1 | Priority_queue :: embrace Konstruuje i wstawia nowy element w kolejności posortowanej w Priority_queue. |
2 | Priority_queue :: empty Sprawdza, czy kolejka pritority_queue jest pusta, czy nie. |
3 | Priority_queue :: operator = skopiuj wersję Przypisuje nową zawartość do Priority_queue, zastępując stare. |
4 | Priority_queue :: operator = przenieś wersję Przypisuje nową zawartość do Priority_queue, zastępując stare. |
5 | Priority_queue :: pop Usuwa przedni element z Priority_queue. |
6 | priority_queue :: push copy version Wstawia nowy element w posortowanej kolejności. |
7 | priority_queue :: push move version Wstawia nowy element w posortowanej kolejności. |
8 | Priority_queue :: size Zwraca całkowitą liczbę elementów obecnych w Priority_queue. |
9 | Priority_queue :: swap Zamienia zawartość Priority_queue z zawartością innej Priority_queue. |
10 | Priority_queue :: top Zwraca odwołanie do pierwszego elementu Priority_queue |
Przeciążone funkcje niebędące członkami
Sr.No. | Metoda i opis |
---|---|
1 | zamiana Zamienia zawartość Priority_queue z zawartością innej Priority_queue. |