Udostępnij za pośrednictwem


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.

4ef4dae9.collapse_all(pl-pl,VS.110).gifKonstruktory

priority_queue

Konstrukcje priority_queue puste lub że jest kopia zakres obiektu kontener podstawowy lub innych priority_queue.

4ef4dae9.collapse_all(pl-pl,VS.110).gifDefinicje TypeDef

container_type

Typ, który stanowi podstawowy kontener, należy dostosować przez priority_queue.

size_type

Typ Liczba całkowita bez znaku, który może reprezentować liczbę elementów w priority_queue.

value_type

Typ, który reprezentuje typ obiektu przechowywane jako element w priority_queue.

4ef4dae9.collapse_all(pl-pl,VS.110).gifFunkcje składowe

pusty

Badania, jeśli priority_queue jest pusta.

POP

Usuwa element największą priority_queue z górnej pozycji.

push

Dodaje element do kolejki priorytetowe na podstawie priorytetu elementu z operatorem <.

rozmiar

Zwraca liczbę elementów w priority_queue.

u góry

Zwraca wartość stała odniesienie do największych elementu u góry priority_queue.

Wymagania

Nagłówek: <queue>

Obszar nazw: std

Zobacz też

Informacje

Bezpieczeństwo wątków w standardowa biblioteka języka C++

Standardowa biblioteka szablonu