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> может содержать |
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>и копирует его и связанный с ним приоритет в |
TryPeek(TElement, TPriority) |
Возвращает значение, указывающее, существует ли минимальный элемент в PriorityQueue<TElement,TPriority>, и если он присутствует, копирует его и связанный с ним приоритет в |
Применяется к
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по