Teilen über


PriorityQueue<TElement,TPriority> Klasse

Definition

Stellt eine Auflistung von Elementen dar, die einen Wert und eine Priorität aufweisen. Bei dequeue wird das Element mit dem niedrigsten Prioritätswert entfernt.

generic <typename TElement, typename TPriority>
public ref class PriorityQueue
public class PriorityQueue<TElement,TPriority>
type PriorityQueue<'Element, 'Priority> = class
Public Class PriorityQueue(Of TElement, TPriority)

Typparameter

TElement

Gibt den Typ der Elemente in der Warteschlange an.

TPriority

Gibt den Typ der Priorität an, der enqueued-Elementen zugeordnet ist.

Vererbung
PriorityQueue<TElement,TPriority>

Hinweise

Implementiert einen arraygestützten, quaternären Min-Heap. Jedes Element wird mit einer zugeordneten Priorität versehen, die die Dequeue-Reihenfolge bestimmt. Elemente mit der niedrigsten Priorität werden zuerst abgequeuiert. Beachten Sie, dass der Typ keine First-in-First-Out-Semantik für Elemente mit gleicher Priorität garantiert.

Konstruktoren

PriorityQueue<TElement,TPriority>()

Initialisiert eine neue Instanz der PriorityQueue<TElement,TPriority> Klasse.

PriorityQueue<TElement,TPriority>(IComparer<TPriority>)

Initialisiert eine neue Instanz der PriorityQueue<TElement,TPriority> Klasse mit dem angegebenen benutzerdefinierten Prioritätsvergleich.

PriorityQueue<TElement,TPriority>(IEnumerable<ValueTuple<TElement,TPriority>>)

Initialisiert eine neue Instanz der PriorityQueue<TElement,TPriority> Klasse, die mit den angegebenen Elementen und Prioritäten aufgefüllt wird.

PriorityQueue<TElement,TPriority>(IEnumerable<ValueTuple<TElement,TPriority>>, IComparer<TPriority>)

Initialisiert eine neue Instanz der PriorityQueue<TElement,TPriority> Klasse, die mit den angegebenen Elementen und Prioritäten aufgefüllt wird, und mit dem angegebenen benutzerdefinierten Prioritätsvergleich.

PriorityQueue<TElement,TPriority>(Int32)

Initialisiert eine neue Instanz der PriorityQueue<TElement,TPriority> Klasse mit der angegebenen Anfangskapazität.

PriorityQueue<TElement,TPriority>(Int32, IComparer<TPriority>)

Initialisiert eine neue Instanz der PriorityQueue<TElement,TPriority> Klasse mit der angegebenen Anfangskapazität und dem benutzerdefinierten Prioritätsvergleich.

Eigenschaften

Comparer

Ruft den Prioritätsvergleich ab, der vom PriorityQueue<TElement,TPriority>verwendet wird.

Count

Ruft die Anzahl der Elemente ab, die in der PriorityQueue<TElement,TPriority>enthalten sind.

UnorderedItems

Ruft eine Auflistung ab, die die Elemente der Warteschlange auf ungeordnete Weise aufzählt.

Methoden

Clear()

Entfernt alle Elemente aus der PriorityQueue<TElement,TPriority>.

Dequeue()

Entfernt und gibt das minimale Element aus dem PriorityQueue<TElement,TPriority> zurück , d. h. das Element mit dem niedrigsten Prioritätswert.

DequeueEnqueue(TElement, TPriority)

Entfernt das minimale Element und fügt dann sofort das angegebene Element mit der zugeordneten Priorität zum PriorityQueue<TElement,TPriority>hinzu.

Enqueue(TElement, TPriority)

Fügt dem PriorityQueue<TElement,TPriority>das angegebene Element mit zugeordneter Priorität hinzu.

EnqueueDequeue(TElement, TPriority)

Fügt das angegebene Element mit der zugeordneten Priorität zum PriorityQueue<TElement,TPriority>hinzu und entfernt sofort das minimale Element und gibt das Ergebnis zurück.

EnqueueRange(IEnumerable<TElement>, TPriority)

Enqueues eine Abfolge von Elementenpaaren mit dem PriorityQueue<TElement,TPriority>, die alle der angegebenen Priorität zugeordnet sind.

EnqueueRange(IEnumerable<ValueTuple<TElement,TPriority>>)

Queues eine Abfolge von Elementprioritätspaaren auf die PriorityQueue<TElement,TPriority>.

EnsureCapacity(Int32)

Stellt sicher, dass der PriorityQueue<TElement,TPriority> bis zu capacity Elemente enthalten kann, ohne den Sicherungsspeicher weiter zu erweitern.

Equals(Object)

Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht.

(Geerbt von Object)
GetHashCode()

Dient als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft die Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie der aktuellen Object.

(Geerbt von Object)
Peek()

Gibt das minimale Element aus der PriorityQueue<TElement,TPriority> zurück, ohne es zu entfernen.

Remove(TElement, TElement, TPriority, IEqualityComparer<TElement>)

Entfernt das erste Vorkommen, das dem angegebenen Parameter entspricht.

ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)
TrimExcess()

Legt die Kapazität auf die tatsächliche Anzahl der Elemente im PriorityQueue<TElement,TPriority>fest, wenn dies weniger als 90 Prozent der aktuellen Kapazität ist.

TryDequeue(TElement, TPriority)

Entfernt das minimale Element aus dem PriorityQueue<TElement,TPriority>und kopiert es und seine zugeordnete Priorität in die Argumente element und priority.

TryPeek(TElement, TPriority)

Gibt einen Wert zurück, der angibt, ob ein minimales Element im PriorityQueue<TElement,TPriority>vorhanden ist und ob ein Element vorhanden ist, kopiert es und seine zugeordnete Priorität in die argumente element und priority. Das Element wird nicht aus dem PriorityQueue<TElement,TPriority>entfernt.

Gilt für: