PriorityQueue<TElement,TPriority> Classe

Definizione

Rappresenta una raccolta di elementi con un valore e una priorità. In caso di rimozione dalla coda, l'elemento con il valore di priorità più basso viene rimosso.

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)

Parametri di tipo

TElement

Specifica il tipo di elementi nella coda.

TPriority

Specifica il tipo di priorità associato agli elementi accodati.

Ereditarietà
PriorityQueue<TElement,TPriority>

Commenti

Implementa un min-heap con supporto di matrici e quaternaro. Ogni elemento viene accodato con una priorità associata che determina l'ordine di rimozione dalla coda. Gli elementi con priorità più bassa vengono prima dequeuati. Si noti che il tipo non garantisce la semantica first-in-first-out per gli elementi con priorità uguale.

Costruttori

Nome Descrizione
PriorityQueue<TElement,TPriority>()

Inizializza una nuova istanza della classe PriorityQueue<TElement,TPriority>.

PriorityQueue<TElement,TPriority>(IComparer<TPriority>)

Inizializza una nuova istanza della PriorityQueue<TElement,TPriority> classe con l'operatore di confronto di priorità personalizzato specificato.

PriorityQueue<TElement,TPriority>(IEnumerable<ValueTuple<TElement,TPriority>>, IComparer<TPriority>)

Inizializza una nuova istanza della PriorityQueue<TElement,TPriority> classe popolata con gli elementi e le priorità specificati e con l'operatore di confronto di priorità personalizzato specificato.

PriorityQueue<TElement,TPriority>(IEnumerable<ValueTuple<TElement,TPriority>>)

Inizializza una nuova istanza della PriorityQueue<TElement,TPriority> classe popolata con gli elementi e le priorità specificati.

PriorityQueue<TElement,TPriority>(Int32, IComparer<TPriority>)

Inizializza una nuova istanza della PriorityQueue<TElement,TPriority> classe con la capacità iniziale e l'operatore di confronto di priorità personalizzato specificati.

PriorityQueue<TElement,TPriority>(Int32)

Inizializza una nuova istanza della PriorityQueue<TElement,TPriority> classe con la capacità iniziale specificata.

Proprietà

Nome Descrizione
Capacity

Ottiene il numero totale di elementi che l'archiviazione di backup della coda può contenere senza ridimensionare.

Comparer

Ottiene l'operatore di confronto di priorità utilizzato dall'oggetto PriorityQueue<TElement,TPriority>.

Count

Ottiene il numero di elementi contenuti in PriorityQueue<TElement,TPriority>.

UnorderedItems

Ottiene una raccolta che enumera gli elementi della coda in modo non ordinato.

Metodi

Nome Descrizione
Clear()

Rimuove tutti gli elementi da PriorityQueue<TElement,TPriority>.

Dequeue()

Rimuove e restituisce l'elemento minimo da PriorityQueue<TElement,TPriority> , ovvero l'elemento con il valore di priorità più basso.

DequeueEnqueue(TElement, TPriority)

Rimuove l'elemento minimo e quindi aggiunge immediatamente l'elemento specificato con priorità associata a PriorityQueue<TElement,TPriority>.

Enqueue(TElement, TPriority)

Aggiunge l'elemento specificato con priorità associata all'oggetto PriorityQueue<TElement,TPriority>.

EnqueueDequeue(TElement, TPriority)

Aggiunge l'elemento specificato con priorità associata a PriorityQueue<TElement,TPriority>e rimuove immediatamente l'elemento minimo, restituendo il risultato.

EnqueueRange(IEnumerable<TElement>, TPriority)

Accoda una sequenza di coppie di elementi a PriorityQueue<TElement,TPriority>, tutti associati alla priorità specificata.

EnqueueRange(IEnumerable<ValueTuple<TElement,TPriority>>)

Accoda una sequenza di coppie di priorità degli elementi a PriorityQueue<TElement,TPriority>.

EnsureCapacity(Int32)

Assicura che l'oggetto PriorityQueue<TElement,TPriority> possa contenere gli capacity elementi senza un'ulteriore espansione dello spazio di archiviazione di backup.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetType()

Ottiene il Type dell'istanza corrente.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale del Objectcorrente.

(Ereditato da Object)
Peek()

Restituisce l'elemento minimo da PriorityQueue<TElement,TPriority> senza rimuoverlo.

Remove(TElement, TElement, TPriority, IEqualityComparer<TElement>)

Rimuove la prima occorrenza che equivale al parametro specificato.

ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)
TrimExcess()

Imposta la capacità sul numero effettivo di elementi in PriorityQueue<TElement,TPriority>, se è inferiore al 90% della capacità corrente.

TryDequeue(TElement, TPriority)

Rimuove l'elemento minimo da PriorityQueue<TElement,TPriority>e lo copia e la relativa priorità associata agli element argomenti e priority .

TryPeek(TElement, TPriority)

Restituisce un valore che indica se è presente un elemento minimo in PriorityQueue<TElement,TPriority>e, se presente, lo copia e la element relativa priorità associata agli argomenti e priority . L'elemento non viene rimosso da PriorityQueue<TElement,TPriority>.

Si applica a