Sdílet prostřednictvím


priority_queue (STL/CLR)

Třída šablony popisuje objekt, který řídí různé délky objednané sekvence prvků, která má omezený přístup.Použití adaptéru kontejneru priority_queue pro správu podkladové kontejneru jako prioritu fronty.

V popisu níže GValue je stejný jako Value Pokud je typ odkazu, v takovém případě je Value^.Podobně GContainer je stejný jako Container Pokud je typ odkazu, v takovém případě je Container^.

template<typename Value,
    typename Container>
    ref class priority_queue
        System::ICloneable,
        Microsoft::VisualC::StlClr::IPriorityQueue<GValue, GContainer>
    { ..... };

Parametry

  • Value
    Typ prvek v kontrolovaných sekvenci.

  • Kontejner
    Typ základního kontejneru.

Členy

Definice typu

Popis

priority_queue::const_reference (STL/CLR)

Typ konstantního odkazu na prvek.

priority_queue::container_type (STL/CLR)

Typ základního kontejneru.

priority_queue::difference_type (STL/CLR)

Typ vzdálenosti se znaménkem mezi dvěma prvky.

priority_queue::generic_container (STL/CLR)

Typ obecné rozhraní adaptéru kontejneru.

priority_queue::generic_value (STL/CLR)

Typ elementu pro obecné rozhraní adaptéru kontejneru.

priority_queue::reference (STL/CLR)

Typ odkazu na prvek.

priority_queue::size_type (STL/CLR)

Typ vzdálenosti se znaménkem mezi dvěma prvky.

priority_queue::value_compare (STL/CLR)

Objednávání delegát pro dva prvky.

priority_queue::value_type (STL/CLR)

Typ prvku.

Členská funkce

Popis

priority_queue::assign (STL/CLR)

Nahradí všechny prvky.

priority_queue::empty (STL/CLR)

Zkoušky zda jsou žádné prvky obsahují.

priority_queue::get_container (STL/CLR)

Poskytuje přístup k podkladové kontejneru.

priority_queue::pop (STL/CLR)

Odstraní prvek hghest prioritu.

priority_queue::priority_queue (STL/CLR)

Vytvoří objekt kontejneru.

priority_queue::push (STL/CLR)

Přidá nový prvek.

priority_queue::size (STL/CLR)

Vrátí počet prvků.

priority_queue::top (STL/CLR)

Přistupuje k prvku nejvyšší prioritu.

priority_queue::to_array (STL/CLR)

Řízené sekvenci se zkopíruje do nového pole.

priority_queue::value_comp (STL/CLR)

Zkopíruje objednávání delegát pro dva prvky.

Property

Popis

priority_queue::top_item (STL/CLR)

Přistupuje k prvku nejvyšší prioritu.

Operátor

Popis

priority_queue::operator= (STL/CLR)

Nahradí řízené sekvenci.

Rozhraní

Rozhraní

Popis

ICloneable

Duplicitní objekt.

IPriorityQueue<hodnota, kontejner>

Udržujte obecný kontejner adaptéru.

Poznámky

Objekt přiděluje a uvolňuje úložiště pro řadu ovládá prostřednictvím podkladové kontejneru typu Container, který ukládá Value prvky a roste na požádání.Udržuje pořadí objednat jako haldy, s nejvyšší prioritou element (prvek) snadno přístupné a removable.Objekt omezuje přístup k vložení nové prvky a odebrání pouze nejvyšší prioritu prvek a implementaci priority fronty.

Objekt příkazy sekvence ovládá pomocí volání uložené delegát objekt typu priority_queue::value_compare (STL/CLR).Uložené delegát objekt můžete určit při vytváření priority_queue; -li zadán žádný objekt delegáta, výchozí hodnota je porovnání operator<(value_type, value_type).Přístup k této uložené objekt voláním členské funkce priority_queue::value_comp (STL/CLR)().

Takový objekt delegáta musí ukládat přísné slabé řazení hodnot typu priority_queue::value_type (STL/CLR).To znamená pro libovolné dva klíče X a Y:

value_comp()(X, Y)Vrátí výsledek stejné logická hodnota při každém volání.

Pokud value_comp()(X, Y) je true, pak value_comp()(Y, X) musí být false.

Pokud value_comp()(X, Y) je true, pak X se říká objednat před Y.

Pokud !value_comp()(X, Y) && !value_comp()(Y, X) je true, pak X a Y jsou tvrdil, že mají odpovídající řazení.

Pro každý prvek X , předchází Y v řízené sekvenci key_comp()(Y, X) false. (U objektu výchozí delegáta klíče nikdy sníží hodnota.)

Element nejvyšší prioritou je tedy jedním z prvků, které není objednané před jiného prvku.

Vzhledem k tomu, že základní kontejner udržuje objednat jako haldu prvky:

Kontejner musí podporovat iterátorů náhodný přístup.

Prvky s ekvivalentní řazení mohou být odebrány v jiném pořadí, než by bylo posunuto. (Pořadí není stabilní.)

Tedy kandidáty na podkladové kontejneru patří deque (STL/CLR) a vector (STL/CLR).

Požadavky

Záhlaví:<cliext/fronta>

Obor názvů: cliext

Viz také

Referenční dokumentace

deque (STL/CLR)

queue (STL/CLR)

stack (STL/CLR)

vector (STL/CLR)

Další zdroje

STL/CLR – Referenční dokumentace knihoven