PriorityQueue<TElement,TPriority> Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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
| Name | Beschreibung |
|---|---|
| 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>>, 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>(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>(Int32, IComparer<TPriority>) |
Initialisiert eine neue Instanz der PriorityQueue<TElement,TPriority> Klasse mit der angegebenen Anfangskapazität und dem benutzerdefinierten Prioritätsvergleich. |
| PriorityQueue<TElement,TPriority>(Int32) |
Initialisiert eine neue Instanz der PriorityQueue<TElement,TPriority> Klasse mit der angegebenen Anfangskapazität. |
Eigenschaften
| Name | Beschreibung |
|---|---|
| Capacity |
Ruft die Gesamtzahl der Elemente ab, die der Sicherungsspeicher der Warteschlange enthalten kann, ohne die Größe zu ändern. |
| Comparer |
Ruft den prioritätsvergleicher, der von der PriorityQueue<TElement,TPriority>. |
| Count |
Ruft die Anzahl der Elemente ab, die in der PriorityQueue<TElement,TPriority>. |
| UnorderedItems |
Ruft eine Auflistung ab, die die Elemente der Warteschlange auf ungeordnete Weise aufzählt. |
Methoden
| Name | Beschreibung |
|---|---|
| Clear() |
Entfernt alle Elemente aus dem PriorityQueue<TElement,TPriority>. |
| Dequeue() |
Entfernt und gibt das minimale Element aus dem PriorityQueue<TElement,TPriority> - d. h. das Element mit dem niedrigsten Prioritätswert zurück. |
| DequeueEnqueue(TElement, TPriority) |
Entfernt das minimale Element und fügt dann sofort das angegebene Element mit der zugeordneten Priorität hinzu.PriorityQueue<TElement,TPriority> |
| Enqueue(TElement, TPriority) |
Fügt das angegebene Element mit zugeordneter Priorität der PriorityQueue<TElement,TPriority>. |
| EnqueueDequeue(TElement, TPriority) |
Fügt das angegebene Element mit der zugeordneten Priorität hinzu PriorityQueue<TElement,TPriority>und entfernt sofort das minimale Element und gibt das Ergebnis zurück. |
| EnqueueRange(IEnumerable<TElement>, TPriority) |
Enqueues eine Abfolge von Elementenpaaren mit der angegebenen Priorität, die PriorityQueue<TElement,TPriority>alle mit der angegebenen Priorität verknüpft sind. |
| EnqueueRange(IEnumerable<ValueTuple<TElement,TPriority>>) |
Stellt eine Abfolge von Elementprioritätspaaren in die PriorityQueue<TElement,TPriority>Warteschlange ein. |
| EnsureCapacity(Int32) |
Stellt sicher, dass die PriorityQueue<TElement,TPriority> Elemente beibehalten |
| 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 dem PriorityQueue<TElement,TPriority> Element 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>, wenn dies kleiner als 90 % 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 auf die |
| TryPeek(TElement, TPriority) |
Gibt einen Wert zurück, der PriorityQueue<TElement,TPriority>angibt, ob ein minimales Element im , und wenn vorhanden, kopiert es und seine zugeordnete Priorität auf die |