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.