priority_queue (STL/CLR)
Popisuje šablony třídy objektu, který řídí různé délky objednané pořadí prvků, které má omezený přístup.Použití adaptéru kontejneru priority_queue spravovat podkladové kontejneru jako prioritu fronty.
V popisu níže GValue je stejný jako Value , není tento typ odkazu, v takovém případě je Value^.Podobně GContainer je stejný jako Container , není tento 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 prvku řízené sekvence.Kontejner
Typ základní kontejner.
Členy
Definice typu |
Description |
---|---|
Typ konstantní odkaz na element. |
|
Typ základní kontejner. |
|
Typ podepsané vzdálenost mezi dvěma prvky. |
|
Typ obecné rozhraní adaptéru kontejneru. |
|
Typ prvku obecné rozhraní adaptéru kontejneru. |
|
Typ odkazu na prvek. |
|
Typ podepsané vzdálenost mezi dvěma prvky. |
|
Objednávání delegát dva prvky. |
|
Typ prvku. |
Členská funkce |
Description |
---|---|
Nahradí všechny prvky. |
|
Zkoušky, zda jsou žádné prvky prezentovat. |
|
Přistupuje k podkladové kontejneru. |
|
Odstraní prvek prioritu motoru. |
|
Konstrukce objektu kontejneru. |
|
Přidá nový prvek. |
|
Vrátí počet prvků. |
|
Přistupuje k prvku nejvyšší prioritu. |
|
Řízené sekvence se zkopíruje do nového pole. |
|
Zkopíruje objednávání delegáta pro dva prvky. |
Property |
Description |
---|---|
Přistupuje k prvku nejvyšší prioritu. |
Operátor |
Description |
---|---|
Nahradí řízené sekvence. |
Rozhraní
Rozhraní |
Description |
---|---|
Duplikujte objekt. |
|
IPriorityQueue < hodnota, kontejner > |
Udržují generic kontejneru adaptéru. |
Poznámky
Přiděluje a uvolní úložiště pro řadu ovládacích prvků prostřednictvím základní kontejner, typu objektu Container, který ukládá Value prvky a zvětšuje na vyžádání.Si udržuje sekvence objednat jako haldy, s nejvyšší prioritou prvek (prvek) snadno přístupné a vyměnitelné.Objekt omezuje přístup k předání nové prvky a popping pouze nejvyšší prioritu elementu, implementace priority fronty.
Objekt objednávky pořadí ovládacích prvků voláním uložené delegát objekt typu priority_queue::value_compare (STL/CLR).Můžete určit objekt uložených delegátem při konstrukci priority_queue; Pokud nezadáte žádný objekt delegáta, výchozí hodnota je srovnání operator<(value_type, value_type).Přístup k objektu uložených voláním funkce členské priority_queue::value_comp (STL/CLR)().
Takový objekt delegát musí ukládat přísné slabé řazení hodnot typu priority_queue::value_type (STL/CLR).To znamená pro všechny dva klíče X a Y:
value_comp()(X, Y)Vrátí výsledek stejný Boolean při každém volání.
Pokud value_comp()(X, Y) je PRAVDA, pak value_comp()(Y, X) musí být false.
Pokud value_comp()(X, Y) je PRAVDA, pak X se říká objednané před Y.
Pokud !value_comp()(X, Y) && !value_comp()(Y, X) je PRAVDA, pak X a Y jsou označeny mít rovnocenné objednávání.
Pro každý prvek X , předchází Y řízené postupně key_comp()(Y, X) hodnotu false.(Pro objekt výchozí delegáta, klíče nikdy sníží hodnota.)
Element nejvyšší prioritou je tedy jedním z prvků, které nejsou objednány před jiný prvek.
Protože základní kontejner udržuje objednat jako haldu prvky:
U iterátorů náhodný přístup, musí podporovat kontejneru.
Prvky s ekvivalentní řazení může popped v jiném pořadí, než byla posunuta.(Pořadí není stabilní.)
Tedy zahrnovat kandidátů pro základní kontejner deque (STL/CLR) a vector (STL/CLR).
Požadavky
Záhlaví: < cliext/fronty >
Obor názvů: cliext