Condividi tramite


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

priority_queue::const_reference (STL/CLR)

Il tipo di riferimento costante a un elemento.

priority_queue::container_type (STL/CLR)

Tipo del contenitore sottostante.

priority_queue::difference_type (STL/CLR)

Il tipo di distanza con segno compreso tra due elementi.

priority_queue::generic_container (STL/CLR)

Il tipo dell'interfaccia generica per l'adattatore del contenitore.

priority_queue::generic_value (STL/CLR)

Il tipo di elemento per l'interfaccia generica per l'adattatore del contenitore.

priority_queue::reference (STL/CLR)

Il tipo di riferimento a un elemento.

priority_queue::size_type (STL/CLR)

Il tipo di distanza con segno compreso tra due elementi.

priority_queue::value_compare (STL/CLR)

Il delegato dell'ordine per due elementi.

priority_queue::value_type (STL/CLR)

Il tipo di elemento.

Funzione membro

Descrizione

priority_queue::assign (STL/CLR)

Sostituire tutti gli elementi.

priority_queue::empty (STL/CLR)

Verifica se non sono presenti elementi presenti.

priority_queue::get_container (STL/CLR)

Accede al contenitore sottostante.

priority_queue::pop (STL/CLR)

Rimuove l'elemento di hghest-priorità.

priority_queue::priority_queue (STL/CLR)

Costruisce un oggetto contenitore.

priority_queue::push (STL/CLR)

Aggiunge un nuovo elemento.

priority_queue::size (STL/CLR)

Conta il numero di elementi.

priority_queue::top (STL/CLR)

Accede all'elemento priorità più elevata.

priority_queue::to_array (STL/CLR)

Copia la sequenza selezionata in una nuova matrice.

priority_queue::value_comp (STL/CLR)

Copia il delegato di ordinamento per due elementi.

Proprietà

Descrizione

priority_queue::top_item (STL/CLR)

Accede all'elemento priorità più elevata.

Operatore

Descrizione

priority_queue::operator= (STL/CLR)

Sostituisce la sequenza selezionata.

Interfacce

Interfaccia

Descrizione

ICloneable

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:

Vedere anche

Riferimenti

deque (STL/CLR)

queue (STL/CLR)

stack (STL/CLR)

vector (STL/CLR)

Altre risorse

Riferimenti alla libreria STL/CLR