PriorityQueue<TElement,TPriority> 類別

定義

表示具有值和優先順序的專案集合。 在清除佇列時,會移除優先順序最低的專案。

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)

類型參數

TElement

指定佇列中項目的類型。

TPriority

指定與加入佇列專案相關聯的優先順序類型。

繼承
PriorityQueue<TElement,TPriority>

備註

實作數位支援的四元數最小堆積。 每個元素都會加入佇列中,並具有可決定清除佇列順序的相關聯優先順序。 優先順序最低的元素會先清除佇列。 請注意,此類型不保證優先優先出語意適用於優先順序相等的專案。

建構函式

PriorityQueue<TElement,TPriority>()

初始化 PriorityQueue<TElement,TPriority> 類別的新執行個體。

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

使用指定的自定義優先順序比較子, PriorityQueue<TElement,TPriority> 初始化 類別的新實例。

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

初始化 類別的新實例,這個實例 PriorityQueue<TElement,TPriority> 會填入指定的專案和優先順序。

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

初始化 類別的新實例,這個實例 PriorityQueue<TElement,TPriority> 會填入指定的專案和優先順序,以及指定的自定義優先順序比較子。

PriorityQueue<TElement,TPriority>(Int32)

使用指定的初始容量,初始化 PriorityQueue<TElement,TPriority> 類別的新執行個體。

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

使用指定的初始容量和自定義優先順序比較子,初始化 類別的新實例 PriorityQueue<TElement,TPriority>

屬性

Comparer

取得所使用的 PriorityQueue<TElement,TPriority>優先順序比較子。

Count

取得 PriorityQueue<TElement,TPriority> 中所包含的項目數。

UnorderedItems

取得集合,這個集合會以未排序的方式列舉佇列的專案。

方法

Clear()

PriorityQueue<TElement,TPriority> 中移除所有項目。

Dequeue()

從 移除並傳回最小元素 PriorityQueue<TElement,TPriority> ,也就是具有最低優先順序值的 元素。

DequeueEnqueue(TElement, TPriority)

移除最小元素,然後立即將具有相關聯優先權的指定專案加入至 PriorityQueue<TElement,TPriority>

Enqueue(TElement, TPriority)

將具有相關聯優先權的指定專案加入至 PriorityQueue<TElement,TPriority>

EnqueueDequeue(TElement, TPriority)

將具有相關聯優先權的指定專案加入至 PriorityQueue<TElement,TPriority>,並立即移除最小元素,並傳回結果。

EnqueueRange(IEnumerable<TElement>, TPriority)

將專案序列加入佇列, PriorityQueue<TElement,TPriority>這些專案會與指定的優先權相關聯。

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

將專案優先順序配對序列加入佇列。PriorityQueue<TElement,TPriority>

EnsureCapacity(Int32)

確保 PriorityQueue<TElement,TPriority> 可以保留至專案, capacity 而不需進一步擴充其備份記憶體。

Equals(Object)

判斷指定的物件是否等於目前的物件。

(繼承來源 Object)
GetHashCode()

做為預設雜湊函式。

(繼承來源 Object)
GetType()

取得目前執行個體的 Type

(繼承來源 Object)
MemberwiseClone()

建立目前 Object 的淺層複製。

(繼承來源 Object)
Peek()

從 傳回最小專案, PriorityQueue<TElement,TPriority> 而不移除它。

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

表示具有值和優先順序的專案集合。 在清除佇列時,會移除優先順序最低的專案。

ToString()

傳回代表目前物件的字串。

(繼承來源 Object)
TrimExcess()

如果容量小於目前容量的90%,請將容量設定為 中 PriorityQueue<TElement,TPriority>的實際項目數目。

TryDequeue(TElement, TPriority)

PriorityQueue<TElement,TPriority>中移除最小專案,並將它及其相關聯的優先順序複製到 elementpriority 自變數。

TryPeek(TElement, TPriority)

傳回值,這個值表示 中 PriorityQueue<TElement,TPriority>是否有最小元素,如果存在,則會將它及其相關聯的優先順序 element 複製到 和 priority 自變數。 專案不會從 PriorityQueue<TElement,TPriority>移除。

適用於