Поделиться через


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()

Задает емкость фактическому количеству элементов в PriorityQueue<TElement,TPriority>, если это меньше 90 процентов текущей емкости.

TryDequeue(TElement, TPriority)

Удаляет минимальный элемент из PriorityQueue<TElement,TPriority>и копирует его и связанный с ним приоритет в аргументы element и priority.

TryPeek(TElement, TPriority)

Возвращает значение, указывающее, существует ли минимальный элемент в PriorityQueue<TElement,TPriority>, а если он присутствует, копирует его и связанный с ним приоритет в аргументы element и priority. Элемент не удаляется из PriorityQueue<TElement,TPriority>.

Применяется к