Freigeben über


priority_queue (STL/CLR)

Die Vorlagenklasse beschreibt ein Objekt, das eine VARYINGLänge bestellte Sequenz von Elementen gesteuert wird, die beschränkten Zugriff hat. Sie verwenden den Containeradapter priority_queue, um einen Container als zugrunde liegenden Prioritätswarteschlange zu verwalten.

In der unten stehenden Beschreibung, GValue ist das Value identisch, es sei denn, das zweite ein Referenz-Typ ist, in diesem Fall Value^ dar. Ebenso besteht GContainer dem Container, es sei denn, das zweite ein Referenz-Typ ist, in diesem Fall Container^ dar.

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.

Member

Typdefinition

Beschreibung

priority_queue::const_reference (STL/CLR)

Der Typ eines konstanten Verweises auf ein Element.

priority_queue::container_type (STL/CLR)

Der Typ des zugrunde liegenden Containers.

priority_queue::difference_type (STL/CLR)

Der Typ eines Abstands mit Vorzeichen zwischen zwei Elementen.

priority_queue::generic_container (STL/CLR)

Der Typ der generischen Schnittstelle für den Containeradapter.

priority_queue::generic_value (STL/CLR)

Der Typ des Elements für die generische Schnittstelle für den Containeradapter.

priority_queue::reference (STL/CLR)

Der Typ eines Verweises auf ein Element.

priority_queue::size_type (STL/CLR)

Der Typ eines Abstands mit Vorzeichen zwischen zwei Elementen.

priority_queue::value_compare (STL/CLR)

Der Reihenfolgendelegat für zwei Elemente.

priority_queue::value_type (STL/CLR)

Der Typ eines Elements.

Memberfunktion

Beschreibung

priority_queue::assign (STL/CLR)

Ersetzt alle Elemente.

priority_queue::empty (STL/CLR)

Testet, dass keine Elemente vorhanden sind.

priority_queue::get_container (STL/CLR)

Greift auf den zugrunde liegenden Container zu.

priority_queue::pop (STL/CLR)

Entfernt das HghestPrioritätselement.

priority_queue::priority_queue (STL/CLR)

Erstellt ein container-Objekt.

priority_queue::push (STL/CLR)

Fügt ein neues Element hinzu.

priority_queue::size (STL/CLR)

Ermittelt die Anzahl der Elemente.

priority_queue::top (STL/CLR)

Greift auf das höchste Element zu.

priority_queue::to_array (STL/CLR)

Kopiert die gesteuerte Sequenz zu einem neuen Array.

priority_queue::value_comp (STL/CLR)

Kopiert den Delegaten für die Sortierung für zwei Elemente.

Eigenschaft

Beschreibung

priority_queue::top_item (STL/CLR)

Greift auf das höchste Element zu.

Operator

Beschreibung

priority_queue::operator= (STL/CLR)

Ersetzt die gesteuerte Sequenz.

Schnittstellen

Schnittstelle

Beschreibung

ICloneable

Ein Objekt duplizieren.

IPriorityQueueValue <, Container>

Warten Sie generischen Containeradapter.

Hinweise

Das Objekt belegt und gibt Arbeitsspeicher für die Sequenz, die durch einen zugrunde liegenden Container steuert, Typ des Container verwenden, der Value-Elemente gespeichert und bei Bedarf vergrößert. Sie enthält die Sequenz angeordnet als Heap, mit dem höchsten Element (das oberste Element) bereit zugegriffen werden entfernbar. Das Objekt wird der Zugriff auf das Drucken von neuen Elementen und zum Setzen nur des höchsten Elements ein und implementiert eine Prioritätswarteschlange.

Das Objekt ordnet die Sequenz, die steuert, indem ein gespeichertes Delegatobjekt des Typs priority_queue::value_compare (STL/CLR). Sie können dem gespeicherten Delegatobjekt angeben, wenn Sie das priority_queue erstellen; Wenn Sie kein Delegatobjekt angeben, gilt standardmäßig der Vergleich operator<(value_type, value_type). Sie greifen auf das gespeicherte Objekt zu, indem Sie die Memberfunktion priority_queue::value_comp (STL/CLR)() aufrufen.

Ein solches Delegatobjekt muss eine genaue schwache Sortierung Werte des Typs priority_queue::value_type (STL/CLR) festlegen. Das heißt, für alle zwei Schlüssel X und Y:

value_comp()(X, Y) gibt die gleichen Auswirkungen auf booleschen jeden Aufruf zurück.

Wenn value_comp()(X, Y) true ist, muss value_comp()(Y, X) falsch sein.

Wenn value_comp()(X, Y) true ist, dann wird X vor Y nach.

Wenn !value_comp()(X, Y) && !value_comp()(Y, X) true ist, werden X und Y gibt an, um übereinstimmende Reihenfolge zu haben.

Für jedes Element X, das Y in der Sequenz gesteuerten vorangeht, ist key_comp()(Y, X) falsch. (Für das Standarddelegatobjekt, verringert wird Schlüssel nie.)

Das höchste Element entspricht insofern eines der Elemente, das nicht vor jeglichem anderen Element angeordnet wird.

Da der zugrunde liegende Container Elemente angeordnet als Heap enthält:

Der Container Iteratoren muss mit wahlfreier Zugriff unterstützen.

Elemente mit entsprechender Reihenfolge werden in einer anderen Reihenfolge geholt werden, als sie gedrückt wurden. (Die Reihenfolge ist nicht stabil).

So schließen Kandidaten für den zugrunde liegenden Container deque (STL/CLR) und vector (STL/CLR).

Anforderungen

Header: <cliext/Warteschlange>

Namespace: cliext

Siehe auch

Referenz

deque (STL/CLR)

queue (STL/CLR)

stack (STL/CLR)

vector (STL/CLR)

Weitere Ressourcen

Referenz zur STL/CLR-Bibliothek