PriorityQueue<TElement,TPriority> Klasse

Definition

Stellt eine Auflistung von Elementen dar, die einen Wert und eine Priorität haben. Beim Aufheben der Warteschlange 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 Prioritätstyp an, der Elementen in der Warteschlange zugeordnet ist.

Vererbung
PriorityQueue<TElement,TPriority>

Hinweise

Implementiert einen vom Array gestützten, quartären Min-Heap. Jedes Element wird mit einer zugeordneten Priorität in die Warteschlange eingereiht, die die Reihenfolge der Dequeue bestimmt. Elemente mit der niedrigsten Priorität werden zuerst entfernt. 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 instance der PriorityQueue<TElement,TPriority> -Klasse mit dem angegebenen benutzerdefinierten Prioritätsvergleich.

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

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

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

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

PriorityQueue<TElement,TPriority>(Int32)

Initialisiert eine neue Instanz der PriorityQueue<TElement,TPriority>-Klasse mit der angegebenen anfänglichen Kapazität.

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

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

Eigenschaften

Comparer

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

Count

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

UnorderedItems

Ruft eine Auflistung ab, die die Elemente der Warteschlange auf ungeordnete Weise auflistet.

Methoden

Clear()

Entfernt alle Elemente aus 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 zugeordneter PriorityQueue<TElement,TPriority>Priorität hinzu.

Enqueue(TElement, TPriority)

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

EnqueueDequeue(TElement, TPriority)

Fügt dem das angegebene Element mit zugeordneter PriorityQueue<TElement,TPriority>Priorität hinzu und entfernt sofort das minimale Element, wodurch das Ergebnis zurückgegeben wird.

EnqueueRange(IEnumerable<TElement>, TPriority)

Stellt eine Sequenz von Elementpaaren in die Warteschlange ein, die PriorityQueue<TElement,TPriority>alle der angegebenen Priorität zugeordnet sind.

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

Stellt eine Sequenz von Elementprioritätspaaren in die Warteschlange ein PriorityQueue<TElement,TPriority>.

EnsureCapacity(Int32)

Stellt sicher, dass die PriorityQueue<TElement,TPriority> elemente ohne weitere Erweiterung des Sicherungsspeichers aufnehmen capacity kann.

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
Peek()

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

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

Stellt eine Auflistung von Elementen dar, die einen Wert und eine Priorität haben. Beim Aufheben der Warteschlange wird das Element mit dem niedrigsten Prioritätswert entfernt.

ToString()

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

(Geerbt von Object)
TrimExcess()

Legt die Kapazität auf die tatsächliche Anzahl von Elementen in fest PriorityQueue<TElement,TPriority>, 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 element Argumente und priority .

TryPeek(TElement, TPriority)

Gibt einen Wert zurück, der angibt, ob ein minimales Element in vorhanden PriorityQueue<TElement,TPriority>ist. Wenn ein Element vorhanden ist, kopiert es und die zugehörige Priorität in die element Argumente und priority . Das -Element wird nicht aus der PriorityQueue<TElement,TPriority>entfernt.

Gilt für: