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.