Note
Access to this page requires authorization. You can try signing in or .
Access to this page requires authorization. You can try .
PriorityQueue<TElement,TPriority> Class
Definition
- Namespace:
- System.Collections.Generic
- Assembly:
- System.Collections.dll
- Source:
- PriorityQueue.cs
- Source:
- PriorityQueue.cs
- Source:
- PriorityQueue.cs
- Source:
- PriorityQueue.cs
- Source:
- PriorityQueue.cs
Important
Some information relates to prerelease product that may be substantially modified before itβs released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Represents a collection of items that have a value and a priority. On dequeue, the item with the lowest priority value is removed.
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)
Type Parameters
- TElement
Specifies the type of elements in the queue.
- TPriority
Specifies the type of priority associated with enqueued elements.
- Inheritance
-
PriorityQueue<TElement,TPriority>
Remarks
Implements an array-backed, quaternary min-heap. Each element is enqueued with an associated priority that determines the dequeue order. Elements with the lowest priority are dequeued first. Note that the type does not guarantee first-in-first-out semantics for elements of equal priority.
Constructors
| Name | Description |
|---|---|
| PriorityQueue<TElement,TPriority>() |
Initializes a new instance of the PriorityQueue<TElement,TPriority> class. |
| PriorityQueue<TElement,TPriority>(IComparer<TPriority>) |
Initializes a new instance of the PriorityQueue<TElement,TPriority> class with the specified custom priority comparer. |
| PriorityQueue<TElement,TPriority>(IEnumerable<ValueTuple<TElement,TPriority>>, IComparer<TPriority>) |
Initializes a new instance of the PriorityQueue<TElement,TPriority> class that is populated with the specified elements and priorities, and with the specified custom priority comparer. |
| PriorityQueue<TElement,TPriority>(IEnumerable<ValueTuple<TElement,TPriority>>) |
Initializes a new instance of the PriorityQueue<TElement,TPriority> class that is populated with the specified elements and priorities. |
| PriorityQueue<TElement,TPriority>(Int32, IComparer<TPriority>) |
Initializes a new instance of the PriorityQueue<TElement,TPriority> class with the specified initial capacity and custom priority comparer. |
| PriorityQueue<TElement,TPriority>(Int32) |
Initializes a new instance of the PriorityQueue<TElement,TPriority> class with the specified initial capacity. |
Properties
| Name | Description |
|---|---|
| Capacity |
Gets the total numbers of elements the queue's backing storage can hold without resizing. |
| Comparer |
Gets the priority comparer used by the PriorityQueue<TElement,TPriority>. |
| Count |
Gets the number of elements contained in the PriorityQueue<TElement,TPriority>. |
| UnorderedItems |
Gets a collection that enumerates the elements of the queue in an unordered manner. |
Methods
| Name | Description |
|---|---|
| Clear() |
Removes all items from the PriorityQueue<TElement,TPriority>. |
| Dequeue() |
Removes and returns the minimal element from the PriorityQueue<TElement,TPriority> - that is, the element with the lowest priority value. |
| DequeueEnqueue(TElement, TPriority) |
Removes the minimal element and then immediately adds the specified element with associated priority to the PriorityQueue<TElement,TPriority>. |
| Enqueue(TElement, TPriority) |
Adds the specified element with associated priority to the PriorityQueue<TElement,TPriority>. |
| EnqueueDequeue(TElement, TPriority) |
Adds the specified element with associated priority to the PriorityQueue<TElement,TPriority>, and immediately removes the minimal element, returning the result. |
| EnqueueRange(IEnumerable<TElement>, TPriority) |
Enqueues a sequence of elements pairs to the PriorityQueue<TElement,TPriority>, all associated with the specified priority. |
| EnqueueRange(IEnumerable<ValueTuple<TElement,TPriority>>) |
Enqueues a sequence of element-priority pairs to the PriorityQueue<TElement,TPriority>. |
| EnsureCapacity(Int32) |
Ensures that the PriorityQueue<TElement,TPriority> can hold up to |
| Equals(Object) |
Determines whether the specified object is equal to the current object. (Inherited from Object) |
| GetHashCode() |
Serves as the default hash function. (Inherited from Object) |
| GetType() |
Gets the Type of the current instance. (Inherited from Object) |
| MemberwiseClone() |
Creates a shallow copy of the current Object. (Inherited from Object) |
| Peek() |
Returns the minimal element from the PriorityQueue<TElement,TPriority> without removing it. |
| Remove(TElement, TElement, TPriority, IEqualityComparer<TElement>) |
Removes the first occurrence that equals the specified parameter. |
| ToString() |
Returns a string that represents the current object. (Inherited from Object) |
| TrimExcess() |
Sets the capacity to the actual number of items in the PriorityQueue<TElement,TPriority>, if that is less than 90 percent of current capacity. |
| TryDequeue(TElement, TPriority) |
Removes the minimal element from the PriorityQueue<TElement,TPriority>, and copies it and its associated priority to the |
| TryPeek(TElement, TPriority) |
Returns a value that indicates whether there is a minimal element in the PriorityQueue<TElement,TPriority>, and if one is present, copies it and its associated priority to the |
Applies to
Feedback
Was this page helpful?
