Libreria C ++ - <queue>
Introduzione alla coda
La coda è una struttura dati progettata per funzionare in contesto FIFO (First in First out). Gli elementi in coda vengono inseriti dall'estremità posteriore e vengono rimossi dall'estremità anteriore .
La classe della coda è l'adattatore del contenitore. Il contenitore è un oggetto che contiene dati dello stesso tipo. La coda può essere creata da diversi contenitori di sequenze. Gli adattatori del contenitore non supportano gli iteratori, quindi non possiamo usarli per la manipolazione dei dati. Tuttavia supportano le funzioni membro push () e pop () rispettivamente per l'inserimento e l'eliminazione dei dati.
Definizione
Di seguito è riportata la definizione di std :: queuer dal file di intestazione <queue>
template <class T, class Container = deque<T> > class queue;
Parametri
T - Tipo di elemento contenuto.
T può essere sostituito da qualsiasi altro tipo di dati incluso il tipo definito dall'utente.
Container - Tipo di oggetto contenitore sottostante.
Tipi di membri
I seguenti tipi di membro possono essere usati come parametri o tipo restituito dalle funzioni membro.
Sr.No. | Tipi di membri | Definizione |
---|---|---|
1 | value_type | T (Primo parametro del modello) |
2 | container_type | Secondo parametro del modello |
3 | size_type | size_t |
4 | riferimento | value_type & |
5 | const_reference | const value_type & |
6 | differenza_tipo | ptrdiff_t |
Funzioni da <queue>
Di seguito è riportato un elenco di tutti i metodi dall'intestazione <queue>.
Costruttori
Sr.No. | Metodo e descrizione |
---|---|
1 | queue :: queue costruttore predefinito Costruisce un oggetto coda vuoto, con zero elementi. |
2 | queue :: queue inizializza il costruttore Costruisce un oggetto coda e assegna il contenitore interno tramite una copia di ctnr . |
3 | queue :: queue move costruttore Costruisce la coda con il contenuto di altri utilizzando la semantica di spostamento. |
4 | queue :: costruttore di copie della coda Costruisce una coda con copia di ogni elemento presente nella coda esistente altro . |
Distruttore
Sr.No. | Metodo e descrizione |
---|---|
1 | coda :: ~ coda Distrugge la coda deallocando la memoria del contenitore. |
Funzioni dei membri
Sr.No. | Metodo e descrizione |
---|---|
1 | coda :: indietro Restituisce un riferimento all'ultimo elemento della coda. |
2 | queue :: emplace Costruisce e inserisce un nuovo elemento alla fine della coda. |
3 | coda :: vuoto Verifica se la coda è vuota o meno. |
4 | queue :: front Restituisce un riferimento al primo elemento della coda. |
5 | queue :: operator = copia versione Assegna nuovi contenuti alla coda sostituendo quelli vecchi. |
6 | queue :: operator = sposta versione Assegna nuovi contenuti alla coda sostituendo quelli vecchi. |
7 | coda :: pop Rimuove l'elemento anteriore della coda. |
8 | coda :: versione copia push Inserisce un nuovo elemento alla fine della coda. |
9 | queue :: push move version Inserisce un nuovo elemento alla fine della coda. |
10 | coda :: dimensione Restituisce il numero totale di elementi presenti nella coda. |
11 | coda :: swap Scambia il contenuto della coda con il contenuto di un'altra coda. |
Funzioni di sovraccarico non membro
Sr.No. | Metodo e descrizione |
---|---|
1 | operatore == Verifica se due code sono uguali o meno. |
2 | operatore! = Verifica se due code sono uguali o meno. |
3 | operatore < Verifica se la prima coda è minore dell'altra oppure no. |
4 | operatore <= Verifica se la prima coda è minore o uguale ad altri oppure no. |
5 | operatore> Verifica se la prima coda è maggiore dell'altra oppure no. |
6 | operatore> = Verifica se la prima coda è maggiore o uguale all'altra oppure no. |
7 | scambiare Scambia il contenuto di due code. |
Introduzione a priority_queue
La coda prioritaria è la struttura dati della coda che ha la priorità. La coda prioritaria è analoga alla struttura dei dati dell'heap in cui l'elemento può essere inserito in qualsiasi ordine e l' elemento max heap viene sempre recuperato per primo.
Definizione
Di seguito è riportata la definizione di std :: priority_queue dal file di intestazione <queue>
template <class T, class Container = vector<T>,
class Compare = less<typename Container::value_type> < class priority_queue;
Parametri
T - Tipo di elemento contenuto.
T può essere sostituito da qualsiasi altro tipo di dati incluso il tipo definito dall'utente.
Container - Tipo di oggetto contenitore sottostante.
Compare - Oggetto di confronto da utilizzare per ordinare priority_queue.
Può essere un puntatore a funzione o un oggetto funzione che può confrontare i suoi due argomenti.
Tipi di membri
I seguenti tipi di membro possono essere usati come parametri o tipo restituito dalle funzioni membro.
Sr.No. | Tipi di membri | Definizione |
---|---|---|
1 | value_type | T (Primo parametro del modello) |
2 | container_type | Secondo parametro del modello |
3 | size_type | size_t |
4 | riferimento | value_type & |
5 | const_reference | const value_type & |
6 | differenza_tipo | ptrdiff_t |
Funzioni da <queue>
Di seguito è riportato un elenco di tutti i metodi dall'intestazione <queue>.
Costruttori
Sr.No. | Metodo e descrizione |
---|---|
1 | priority_queue :: priority_queue costruttore predefinito Costruisce una priority_queue vuota con zero elementi. |
2 | priority_queue :: priority_queue inizializza il costruttore Costruisce un oggetto priority_queue e assegna il contenitore interno tramite una copia di ctnr . |
3 | priority_queue :: priority_queue range costruttore Costruisce una priority_queue con tanti elementi nel range dal primo all'ultimo. |
4 | priority_queue :: priority_queue costruttore di mosse Costruisce la priority_queue con il contenuto di other usando la semantica di spostamento. |
5 | priority_queue :: priority_queue costruttore di copie Costruisce una priority_queue con la copia di ogni elemento presente nella priority_queue esistente other. |
Distruttore
Sr.No. | Metodo e descrizione |
---|---|
1 | priority_queue :: ~ priority_queue Distrugge priority_queue deallocando la memoria del contenitore. |
Funzioni dei membri
Sr.No. | Metodo e descrizione |
---|---|
1 | priority_queue :: emplace Costruisce e inserisce un nuovo elemento in ordine ordinato in priority_queue. |
2 | priority_queue :: vuoto Verifica se pritority_queue è vuoto o meno. |
3 | priority_queue :: operator = copia versione Assegna nuovi contenuti a priority_queue sostituendo quelli vecchi. |
4 | priority_queue :: operator = sposta versione Assegna nuovi contenuti a priority_queue sostituendo quelli vecchi. |
5 | priority_queue :: pop Rimuove l'elemento anteriore di priority_queue. |
6 | priority_queue :: versione push copy Inserisce un nuovo elemento in ordine ordinato. |
7 | priority_queue :: push move version Inserisce un nuovo elemento in ordine ordinato. |
8 | priority_queue :: size Restituisce il numero totale di elementi presenti in priority_queue. |
9 | priority_queue :: swap Scambia il contenuto di priority_queue con il contenuto di un altro priority_queue. |
10 | priority_queue :: top Restituisce un riferimento al primo elemento di priority_queue |
Funzioni di sovraccarico non membro
Sr.No. | Metodo e descrizione |
---|---|
1 | scambiare Scambia il contenuto di priority_queue con il contenuto di un altro priority_queue. |