priority_queue Class
Szablon kontenera Adapter Klasa udostępniająca ograniczenie funkcjonalności, ograniczanie dostępu do najwyższego elementu niektórych podstawowych typu kontenera, który zawsze jest największy lub najwyższy priorytet.Nowe elementy mogą być dodawane do priority_queue i sprawdzenia lub usunięte elementem priority_queue.
template <
class Type,
class Container=vector<Type>,
class Compare=less<typename Container::value_type>
>
class priority_queue
Parametry
Typ
Typ elementu danych mają być przechowywane w priority_queue.Container
Typ kontenera podstawowej, używane do implementacji priority_queue.Porównanie
Typ, który zawiera obiekt funkcji można porównać dwie wartości elementu jako klucze sortowania, aby określić kolejność ich względne, w priority_queue.Ten argument jest opcjonalny i predykatu dwuelementowego mniej*<</c4> jest wartością domyślną.>:: value_type* konteneratypename
Uwagi
Elementy klasy typu określone w szablonie pierwszy parametr obiektu kolejki są tożsame z value_type i musi odpowiadać typowi element w klasie podstawowej kontenera kontenera określone przez drugi parametr szablonu.Typu musi być możliwa do przypisania, tak że jest możliwe, aby skopiować obiekty tego typu i przypisywania wartości do zmiennych tego typu.
Priority_queue zamówienia sekwencji kontroluje, wywołując obiekt przechowywanej funkcji klasy cech.Ogólnie rzecz biorąc, elementy muszą być jedynie mniej niż porównywalne do ustanowienia tej kolejności: tak, że biorąc pod uwagę dwa elementy, może być ustalona, albo są równoważne (w tym sensie, że nie jest mniejsza niż drugi) lub jeden jest mniejsza niż inne.Powoduje porządkowanie między elementami nonequivalent.Na uwagi techniczne funkcja porównanie jest predykatu dwuelementowego, który wywołuje ścisłe słabe zamawiania w sensie matematycznych, standard.
Odpowiednie klasy podstawowej kontenera dla priority_queue deque klasy i domyślnie klasy vector lub inne kontenery sekwencji, który obsługuje operacje z front, push_back, i pop_back i iteratora random access.Klasy podstawowej kontenera jest zhermetyzowana wewnątrz przejściówki kontenera, który udostępnia tylko ograniczony zestaw funkcji elementów członkowskich kontenera sekwencji jako interfejsu publicznego.
Dodawanie elementów i usuwanie elementów z priority_queue mają logarytmiczna złożoności.Dostęp do elementów w priority_queue ma stałą złożoności.
Istnieją trzy typy kart adapterów kontenera zdefiniowane przez STL: stosu, kolejki i priority_queue.Każdy ogranicza funkcjonalność klasy niektóre kontenera podstawowej, aby zapewnić dokładnie kontrolowany interfejs do struktury danych standardowych.
Stosu klasy obsługuje last-in, first-out (LIFO) strukturę danych.Dobre analogowe pamiętać byłoby stos płytki.Elementy (płytki) może dodaje, inspekcji lub usuwane tylko z góry stosu, który jest ostatnim elementem na końcu podstawowym kontenerem.Ograniczenie dostępu do najwyższego elementu jest przyczyna klasy stosu.
Kolejki klasy obsługuje first-in, first-out (FIFO) strukturę danych.Dobre analogowe pamiętać byłoby osób wyrównywanie na bankomat banku.Elementy (osób) mogą być dodawane do tylnej linii i są usuwane z początku wiersza.Zarówno przedniej i tylnej linii może być kontrolowane.Ograniczenie dostępu do tylko przednia i tylna elementy w ten sposób jest przyczyna klasy kolejki.
Klasa priority_queue zamówień jego elementy, tak aby największy element jest zawsze w górnej pozycji.Obsługuje wstawiania element i kontroli oraz usuwania najwyższego elementu.Dobre analogowe pamiętać byłoby osób, wyrównywanie, gdzie są rozmieszczane według wieku, wysokość lub innego kryterium.
Konstruktory
Konstrukcje priority_queue puste lub że jest kopia zakres obiektu kontener podstawowy lub innych priority_queue. |
Definicje TypeDef
Typ, który stanowi podstawowy kontener, należy dostosować przez priority_queue. |
|
Typ Liczba całkowita bez znaku, który może reprezentować liczbę elementów w priority_queue. |
|
Typ, który reprezentuje typ obiektu przechowywane jako element w priority_queue. |
Funkcje składowe
Badania, jeśli priority_queue jest pusta. |
|
Usuwa element największą priority_queue z górnej pozycji. |
|
Dodaje element do kolejki priorytetowe na podstawie priorytetu elementu z operatorem <. |
|
Zwraca liczbę elementów w priority_queue. |
|
Zwraca wartość stała odniesienie do największych elementu u góry priority_queue. |
Wymagania
Nagłówek: <queue>
Obszar nazw: std