Condividi tramite


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

PriorityQueue<TElement,TPriority>()

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

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

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

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

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

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

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

PriorityQueue<TElement,TPriority>(Int32)

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

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

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

Proprietà

Comparer

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

Count

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

UnorderedItems

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

Metodi

Clear()

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

Dequeue()

Rimuove e restituisce l'elemento minimo dal 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 al PriorityQueue<TElement,TPriority>.

Enqueue(TElement, TPriority)

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

EnqueueDequeue(TElement, TPriority)

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

EnqueueRange(IEnumerable<TElement>, TPriority)

Accoda una sequenza di coppie di elementi alla PriorityQueue<TElement,TPriority>, tutte associate alla priorità specificata.

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

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

EnsureCapacity(Int32)

Assicura che il PriorityQueue<TElement,TPriority> possa contenere fino a capacity elementi senza ulteriore espansione dell'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 dal 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 nella PriorityQueue<TElement,TPriority>, se è inferiore al 90% della capacità corrente.

TryDequeue(TElement, TPriority)

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

TryPeek(TElement, TPriority)

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

Si applica a