priority_queue (STL/CLR)
La classe modello vengono descritti un oggetto e controlli di una sequenza ordinata variare lunghezza di elementi che dispone di accesso limitati.Utilizzare l'adattatore priority_queue contenitore per gestire un contenitore sottostante come coda delle priorità.
Nella descrizione di seguito, GValue sono gli stessi di Value a meno che quest'ultimo sia un tipo di riferimento, nel qual caso viene Value^.Analogamente, GContainer sono gli stessi di Container a meno che quest'ultimo sia un tipo di riferimento, nel qual caso viene Container^.
template<typename Value,
typename Container>
ref class priority_queue
System::ICloneable,
Microsoft::VisualC::StlClr::IPriorityQueue<GValue, GContainer>
{ ..... };
Parametri
Valore
Tipo di un elemento nella sequenza controllata.Contenitore
Tipo del contenitore sottostante.
Membri
Definizione del tipo |
Descrizione |
---|---|
Il tipo di riferimento costante a un elemento. |
|
Tipo del contenitore sottostante. |
|
Il tipo di distanza con segno compreso tra due elementi. |
|
Il tipo dell'interfaccia generica per l'adattatore del contenitore. |
|
Il tipo di elemento per l'interfaccia generica per l'adattatore del contenitore. |
|
Il tipo di riferimento a un elemento. |
|
Il tipo di distanza con segno compreso tra due elementi. |
|
Il delegato dell'ordine per due elementi. |
|
Il tipo di elemento. |
Funzione membro |
Descrizione |
---|---|
Sostituire tutti gli elementi. |
|
Verifica se non sono presenti elementi presenti. |
|
Accede al contenitore sottostante. |
|
Rimuove l'elemento di hghest-priorità. |
|
Costruisce un oggetto contenitore. |
|
Aggiunge un nuovo elemento. |
|
Conta il numero di elementi. |
|
Accede all'elemento priorità più elevata. |
|
Copia la sequenza selezionata in una nuova matrice. |
|
Copia il delegato di ordinamento per due elementi. |
Proprietà |
Descrizione |
---|---|
Accede all'elemento priorità più elevata. |
Operatore |
Descrizione |
---|---|
Sostituisce la sequenza selezionata. |
Interfacce
Interfaccia |
Descrizione |
---|---|
Clonare un oggetto. |
|
IPriorityQueue<valore, contenitore> |
Gestire l'adattatore di contenitore generico. |
Note
L'oggetto alloca e libera la memoria per la sequenza che controlla in un contenitore sottostante, di tipo Container, che contiene gli elementi di Value e aumenta su richiesta.Tiene la sequenza ordinata come heap, con l'elemento priorità più alta l'elemento superiore) facilmente accessibile e rimovibile.L'oggetto limita l'accesso a incremento degli elementi nuovi e a prelevare appena l'elemento priorità più elevata, che implementa una coda delle priorità.
l'oggetto ordina la sequenza che controlla chiamando un oggetto delegato archiviato di tipo priority_queue::value_compare (STL/CLR).È possibile specificare l'oggetto delegato archiviato quando si crea il priority_queue; se non si specifica oggetto delegato, l'impostazione predefinita è il confronto operator<(value_type, value_type).È possibile accedere a questo oggetto archiviato chiamando la funzione membro priority_queue::value_comp (STL/CLR)().
Tale oggetto delegato necessario imporre un ordine debole rigido su valori di tipo priority_queue::value_type (STL/CLR).Ciò significa, per due chiavi X e Y:
value_comp()(X, Y) restituisce lo stesso risultato booleano a ogni chiamata.
Se value_comp()(X, Y) è true, quindi value_comp()(Y, X) deve essere false.
Se value_comp()(X, Y) è true, quindi X sarebbe ordinato prima di Y.
Se !value_comp()(X, Y) && !value_comp()(Y, X) è true, quindi X e Y causate da avere ordine equivalente.
Per qualsiasi elemento X che precede Y nella sequenza selezionata, key_comp()(Y, X) è false.(Per l'oggetto delegato predefinito, chiavi non diminuiscono mai il valore.)
L'elemento più elevata viene convertita in uno degli elementi che non è stato ordinato prima di qualsiasi altro elemento.
Poiché il contenitore sottostante degli elementi ordinati come heap:
Il contenitore deve supportare gli iteratori di accesso casuale.
Gli elementi con l'ordine equivalente possono essere prelievo in un ordine diverso che sono stati spinti.(L'ordine non diventa stabile.)
Pertanto, i candidati per il contenitore sottostante includono deque (STL/CLR) e vector (STL/CLR).
Requisiti
intestazione: <cliext/coda>
Cliext diSpazio dei nomi: