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. |