共用方式為


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>中是否有最小元素,如果存在,則會將它及其相關聯的優先順序複製到 elementpriority 自變數。 專案不會從 PriorityQueue<TElement,TPriority>中移除。

適用於