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

适用于