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> ,即具有最低优先级值的元素。

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> 中返回最小元素,而不将其删除。

ToString()

返回表示当前对象的字符串。

(继承自 Object)
TrimExcess()

如果容量小于当前容量的 90%,则将容量设置为实际项 PriorityQueue<TElement,TPriority>数。

TryDequeue(TElement, TPriority)

从中删除最小元素 PriorityQueue<TElement,TPriority>,并将其及其关联的优先级 element 复制到和 priority 参数。

TryPeek(TElement, TPriority)

返回一个值,该值指示是否存在最小元素 PriorityQueue<TElement,TPriority>,如果存在元素,则将其及其关联的优先级复制到 elementpriority 参数。 元素不会从 PriorityQueue<TElement,TPriority>. 中删除。

适用于