priority_queue (STL/CLR)
Die Vorlagenklasse beschreibt ein Objekt, das eine geordnete Sequenz von Elementen VARYING LENGTHs steuert, die mit eingeschränktem Zugriff.Sie verwenden den Container Netzwerkkarten priority_queue, um einen zugrunde liegenden Container als Priorität Warteschlange zu verwalten.
In der unten GValue interaktiven Beschreibung, ist dasselbe wie Value, es sei denn, das zweite ein ref-Typ ist. In diesem Fall wird Value^ ist.Ebenso ist GContainer dasselbe wie Container, es sei denn, das zweite ein ref-Typ ist. In diesem Fall wird Container^ ist.
template<typename Value,
typename Container>
ref class priority_queue
System::ICloneable,
Microsoft::VisualC::StlClr::IPriorityQueue<GValue, GContainer>
{ ..... };
Parameter
Wert
Der Typ eines Elements in der kontrollierten Sequenz.Container
Der Typ des zugrunde liegenden Containers.
Mitglieder
Typdefinition |
Beschreibung |
---|---|
Der Typ eines konstanten Verweis auf ein Element. |
|
Der Typ des zugrunde liegenden Containers. |
|
Der Typ eines signierten Lücke zwischen zwei Elementen. |
|
Der Typ der generischen Schnittstelle für den Container Netzwerkkarten. |
|
Der Typ eines Elements für die generische Schnittstelle für den Container Netzwerkkarten. |
|
Der Typ eines Verweises auf ein Element. |
|
Der Typ eines signierten Lücke zwischen zwei Elementen. |
|
Der des Delegaten für Bestellungen für zwei Elemente. |
|
Der Typ eines Elements. |
Memberfunktion |
Beschreibung |
---|---|
Ersetzt alle Elemente. |
|
Überprüft, ob keine Elemente vorhanden sind. |
|
Greift auf den zugrunde liegenden Container zu. |
|
Entfernt das HghestPriorität Element. |
|
Erstellt ein Containerobjekt. |
|
Fügt ein neues Element hinzu. |
|
Ermittelt die Anzahl der Elemente. |
|
Greift auf die höchste Priorität Element zu. |
|
Kopiert die gesteuerte Sequenz in ein neues Array. |
|
Kopiert den Delegaten für die Sortierung für zwei Elemente. |
Eigenschaft |
Beschreibung |
---|---|
Greift auf die höchste Priorität Element zu. |
Operator |
Beschreibung |
---|---|
Ersetzt die gesteuerte Sequenz. |
Schnittstellen
Schnittstelle |
Beschreibung |
---|---|
Duplizieren Sie ein Objekt. |
|
IPriorityQueue<Container Wert> |
Warten Sie generischen Container Netzwerkkarten. |
Hinweise
Das Objekt wird auf und gibt Speicher für die Sequenz, die er durch einen zugrunde liegenden Container steuern, Typ Container frei, der Value-Elemente gespeichert und bei Bedarf vergrößert.Es behält die Reihenfolge geordnet als Heap mit der höchsten Priorität Element (das oberste Element) zugreifen und entfernt werden kann.Das Objekt wird der Zugriff neue Elemente zu bringen und nur die höchste Priorität Element abgelegt und implementiert eine Priorität Warteschlange ein.
Das Objekt sortiert die Sequenz, die er steuern, indem Sie ein gespeichertes Delegatobjekt des Typs priority_queue::value_compare (STL/CLR) aufruft.Sie können das gespeicherte Delegatobjekt angeben, wenn Sie das priority_queue erstellen. Wenn Sie kein Delegatobjekt angeben, wird standardmäßig der Vergleich operator<(value_type, value_type).Sie greifen auf das gespeicherte Objekt, indem Sie die Memberfunktion priority_queue::value_comp (STL/CLR)() aufrufen.
Solch ein Delegatobjekt muss eine strikte schwache Sortieren Werte vom Typ priority_queue::value_type (STL/CLR) auferlegen.Das bedeutet, dass für alle zwei Schlüssel X und Y:
value_comp()(X, Y) gibt die gleiche boolesche Ergebnis auf jeden Aufruf zurück.
Wenn value_comp()(X, Y) auf true festgelegt ist, muss value_comp()(Y, X) falsch sein.
Wenn value_comp()(X, Y) auf true festgelegt ist, muss X vor Y geordnet.
Wenn !value_comp()(X, Y) && !value_comp()(Y, X) true ist, werden X und Y gesagt, um entsprechende Reihenfolge aufweisen.
Für jedes Element X, das Y in der kontrollierten Sequenz key_comp()(Y, X) vorangeht, ist falsch.(Für das standardmäßige Delegatobjekt, Wertminderung Schlüssel nie ab.)
Die höchste Priorität Element ist somit eines der Elemente, die nicht vor einem anderen Element zugeordnet ist.
Da der zugrunde liegenden Container Elemente als Heap zugeordnet wird:
Der Container muss Iteratoren mit wahlfreier Zugriff unterstützen.
Elemente mit entsprechenden Reihenfolge befinden sich in einer anderen Reihenfolge geholt werden, wenn sie gedrückt wurden.(Die Reihenfolge ist nicht stabil).
Folglich schließen Kandidaten für den zugrunde liegenden Container deque (STL/CLR) und Vektor (STL/CLR) ein.
Anforderungen
Header: <cliext/Warteschlange>
Namespace: cliext