Udostępnij za pośrednictwem


PriorityQueue<TElement,TPriority> Klasa

Definicja

Reprezentuje kolekcję elementów, które mają wartość i priorytet. W przypadku dequeue element o najniższym priorytecie jest usuwany.

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)

Parametry typu

TElement

Określa typ elementów w kolejce.

TPriority

Określa typ priorytetu skojarzonego z elementami w kolejce.

Dziedziczenie
PriorityQueue<TElement,TPriority>

Uwagi

Implementuje stos typu min-heap oparty na tablicy. Każdy element jest w kolejce ze skojarzonym priorytetem, który określa kolejność dequeue. Elementy o najniższym priorytcie są najpierw odsyłane. Należy pamiętać, że typ nie gwarantuje semantyki pierwszego w pierwszym na wyjęcie dla elementów o równym prioryfikcie.

Konstruktory

PriorityQueue<TElement,TPriority>()

Inicjuje nowe wystąpienie klasy PriorityQueue<TElement,TPriority>.

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

Inicjuje nowe wystąpienie klasy PriorityQueue<TElement,TPriority> z określonym niestandardowym modułem porównującym priorytet.

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

Inicjuje nowe wystąpienie klasy PriorityQueue<TElement,TPriority> wypełnione określonymi elementami i priorytetami.

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

Inicjuje nowe wystąpienie klasy PriorityQueue<TElement,TPriority>, która jest wypełniana określonymi elementami i priorytetami, oraz z określonym niestandardowym modułem porównującym priorytet.

PriorityQueue<TElement,TPriority>(Int32)

Inicjuje nowe wystąpienie klasy PriorityQueue<TElement,TPriority> o określonej pojemności początkowej.

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

Inicjuje nowe wystąpienie klasy PriorityQueue<TElement,TPriority> z określoną początkową pojemnością i niestandardowym modułem porównującym priorytet.

Właściwości

Comparer

Pobiera porównanie priorytetów używane przez PriorityQueue<TElement,TPriority>.

Count

Pobiera liczbę elementów zawartych w PriorityQueue<TElement,TPriority>.

UnorderedItems

Pobiera kolekcję, która wylicza elementy kolejki w sposób nieurządkowany.

Metody

Clear()

Usuwa wszystkie elementy z PriorityQueue<TElement,TPriority>.

Dequeue()

Usuwa i zwraca minimalny element z PriorityQueue<TElement,TPriority> — czyli element o najniższej wartości priorytetu.

DequeueEnqueue(TElement, TPriority)

Usuwa minimalny element, a następnie natychmiast dodaje określony element ze skojarzonym priorytetem do PriorityQueue<TElement,TPriority>.

Enqueue(TElement, TPriority)

Dodaje określony element ze skojarzonym priorytetem do PriorityQueue<TElement,TPriority>.

EnqueueDequeue(TElement, TPriority)

Dodaje określony element ze skojarzonym priorytetem do PriorityQueue<TElement,TPriority>, a natychmiast usuwa minimalny element, zwracając wynik.

EnqueueRange(IEnumerable<TElement>, TPriority)

Kolejkuje sekwencję par elementów do PriorityQueue<TElement,TPriority>, wszystkie skojarzone z określonym priorytetem.

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

Kolejkuje sekwencję par priorytetu elementu do PriorityQueue<TElement,TPriority>.

EnsureCapacity(Int32)

Gwarantuje, że PriorityQueue<TElement,TPriority> może pomieścić do capacity elementów bez dalszego rozszerzania magazynu zapasowego.

Equals(Object)

Określa, czy określony obiekt jest równy bieżącemu obiektowi.

(Odziedziczone po Object)
GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetType()

Pobiera Type bieżącego wystąpienia.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Object.

(Odziedziczone po Object)
Peek()

Zwraca minimalny element z PriorityQueue<TElement,TPriority> bez jego usuwania.

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

Usuwa pierwsze wystąpienie, które jest równe określonemu parametrowi.

ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)
TrimExcess()

Ustawia pojemność na rzeczywistą liczbę elementów w PriorityQueue<TElement,TPriority>, jeśli jest to mniej niż 90 procent bieżącej pojemności.

TryDequeue(TElement, TPriority)

Usuwa minimalny element z PriorityQueue<TElement,TPriority>i kopiuje go oraz skojarzony z nim priorytet do argumentów element i priority.

TryPeek(TElement, TPriority)

Zwraca wartość wskazującą, czy w PriorityQueue<TElement,TPriority>istnieje minimalny element, a jeśli istnieje, kopiuje go i skojarzony priorytet do argumentów element i priority. Element nie jest usuwany z PriorityQueue<TElement,TPriority>.

Dotyczy