Libreria C ++ - <stack>

introduzione

Stack è una struttura dati progettata per funzionare nel contesto LIFO (Last in First out). Nello stack gli elementi vengono inseriti e rimossi da una sola estremità.

La classe stack è l'adattatore del contenitore. Il contenitore è un oggetto che contiene dati dello stesso tipo. La pila può essere creata da diversi contenitori di sequenze. Se il container non viene fornito, utilizza il deque container predefinito . 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 la rimozione dei dati.

Definizione

Di seguito è riportata la definizione di std :: stack dal file di intestazione <stack>

template <class T, class Container = deque<T> > class stack;

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 &

Funzioni da <stack>

Di seguito è riportato un elenco di tutti i metodi dall'intestazione <stack>.

Costruttori

Sr.No. Metodo e descrizione
1 stack :: costruttore predefinito dello stack

Costruisce un oggetto stack vuoto, con zero elementi.

2 stack :: costruttore di copie dello stack

Costruisce una pila con la copia di ogni elemento presente in un'altra pila.

3 stack :: costruttore di mosse dello stack

Costruisce uno stack con il contenuto di altri utilizzando la semantica di spostamento.

Distruttore

Sr.No. Metodo e descrizione
1 stack :: ~ stack

Distrugge lo stack deallocando la memoria del contenitore.

Funzioni dei membri

Sr.No. Metodo e descrizione
1 stack :: emplace

Costruisce e inserisce un nuovo elemento nella parte superiore della pila.

2 stack :: vuoto

Verifica se lo stack è vuoto o meno.

3 stack :: operator = copia versione

Assegna nuovi contenuti allo stack sostituendo quelli vecchi.

4 stack :: operator = sposta versione

Assegna nuovi contenuti allo stack sostituendo quelli vecchi.

5 stack :: pop

Rimuove l'elemento superiore dalla pila.

6 stack :: versione push copy

Inserisce un nuovo elemento in cima alla pila.

7 stack :: versione push move

Inserisce un nuovo elemento in cima alla pila.

8 stack :: size

Restituisce il numero totale di elementi presenti nello stack.

9 stack :: swap

Scambia il contenuto dello stack con il contenuto di un altro stack.

10 stack :: top

Restituisce un riferimento all'elemento più in alto dello stack.

Funzioni di sovraccarico non membro

Sr.No. Metodo e descrizione
1 operatore ==

Verifica se due pile sono uguali o meno.

2 operatore! =

Verifica se due pile sono uguali o meno.

3 operatore <

Verifica se il primo stack è minore di altri oppure no.

4 operatore <=

Verifica se il primo stack è minore o uguale ad altri oppure no.

5 operatore>

Verifica se il primo stack è maggiore dell'altro o meno.

6 operatore> =

Verifica se il primo stack è maggiore o uguale all'altro o meno.

7 scambiare

Scambia il contenuto di due stack.