Condividi tramite


Classe stack

Una classe di adattatori del contenitore del modello che fornisce recentemente una restrizione di accesso di limitazione dell'elemento aggiunto a un tipo sottostante del contenitore. La classe stack viene utilizzata quando è importante essere chiaro che solo le operazioni dello stack sono realizzande il contenitore.

template < 
   class Type,  
   class Container=deque<Type>  
> 
class stack

Parametri

  • Type
    Il tipo di dati degli elementi da archiviare nello stack.

  • Container
    Il tipo sottostante del contenitore utilizzato per implementare lo stack. Il valore predefinito è la classe deque*<Type>*

Note

Gli elementi di classe Tipo stipulati nel primo parametro di modello di un oggetto stack sono sinonimi con value_type e devono corrispondere al tipo di elemento della classe contenitore sottostante Contenitore stipulato dal secondo parametro di modello. Tipo Deve essere assegnati, in modo che sia possibile copiare oggetti di quel tipo e assegnare valori alle variabili di tale tipo.

Le classi di contenitori sottostanti appropriate per lo stack sono deque, elenco e vettore, o qualsiasi altro contenitore di sequenza che supporta le operazioni di back, di push_back e di pop_back. La classe container sottostante è incapsulata all'interno dell'adattatore del contenitore, che espone solo il set limitato delle funzioni membro del contenitore di sequenza come interfaccia pubblica.

Gli oggetti dello stack sono uguaglianza confrontabile se e solo se gli elementi di classe Tipo vengono illustrate le relazioni di uguaglianza e sono Less Than confrontabile se e solo se gli elementi di classe Tipo sono Less Than analogo.

  • La classe dello stack supporta a last in first, struttura di dati first out di (LIFO). Una situazione simile ricordare è uno stack dei piatti. Gli elementi (piastrine) possono essere inseriti, controllati, o essere rimossi solo dall'inizio dello stack, che costituisce l'ultimo elemento alla fine del contenitore di base. La restrizione per accedere solo l'elemento superiore è il motivo per l'utilizzo della classe dello stack.

  • classe queue supporta a first in, struttura di dati first out di (FIFO). Una situazione simile ricordare sarebbe persone che consente di allineare per un cassiere di bank. Gli elementi (persone) possono essere aggiunti posteriore della riga e vengono rimossi dall'inizio della riga. Sia la parte precedente che la parte finale di una riga possono essere archiviate. La restrizione per accedere solo la parte precedente e gli elementi indietro in questo modo è la pelliccia reason utilizzando la classe queue.

  • classe priority_queue ordina i relativi elementi in modo che il più grande elemento sia sempre all'inizio posizione. Supporta l'inserimento di un elemento e l'esame e la rimozione dell'elemento superiore. Una situazione simile ricordare sarebbe persone che consente di allineare in cui sono disposti dall'età, dell'altezza, o un altro modello.

Costruttori

stack

Costruisce stack che è vuoto o mediante la copia di un oggetto contenitore di base.

Definizioni typedef

container_type

Un tipo che fornisce il contenitore di base da adattarsi da stack.

size_type

Un tipo integer senza segno che può rappresentare il numero di elementi in una stack.

Tipo di valore

Un tipo che rappresenta il tipo di oggetto archiviato come elemento in stack.

Funzioni del membro

empty

Verifica se stack è vuoto.

pop

Rimuove l'elemento dalla parte superiore di stack.

push

Aggiunge un elemento all'inizio di stack.

size

Restituisce il numero di elementi nella stack.

top

Restituisce un riferimento a un elemento nella parte superiore di stack.

Requisiti

stack <diIntestazione: >

Spazio dei nomi: std

Vedere anche

Riferimenti

Sicurezza dei thread nella libreria standard C++

Libreria di modelli standard

Altre risorse

membri dello stack

<stack> membri