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 |
---|---|
Typ konstantního odkazu na prvek. |
|
Typ základního kontejneru. |
|
Typ vzdálenosti se znaménkem mezi dvěma prvky. |
|
Typ obecné rozhraní adaptéru kontejneru. |
|
Typ elementu pro obecné rozhraní adaptéru kontejneru. |
|
Typ odkazu na prvek. |
|
Typ vzdálenosti se znaménkem mezi dvěma prvky. |
|
Objednávání delegát pro dva prvky. |
|
Typ prvku. |
Členská funkce |
Popis |
---|---|
Nahradí všechny prvky. |
|
Zkoušky zda jsou žádné prvky obsahují. |
|
Poskytuje přístup k podkladové kontejneru. |
|
Odstraní prvek hghest prioritu. |
|
Vytvoří objekt kontejneru. |
|
Přidá nový prvek. |
|
Vrátí počet prvků. |
|
Přistupuje k prvku nejvyšší prioritu. |
|
Řízené sekvenci se zkopíruje do nového pole. |
|
Zkopíruje objednávání delegát pro dva prvky. |
Property |
Popis |
---|---|
Přistupuje k prvku nejvyšší prioritu. |
Operátor |
Popis |
---|---|
Nahradí řízené sekvenci. |
Rozhraní
Rozhraní |
Popis |
---|---|
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