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>中删除 元素。

适用于