Biblioteca C ++ - <pilha>

Introdução

Stack é uma estrutura de dados projetada para operar no contexto LIFO (Last in First out). Na pilha, os elementos são inseridos e também removidos de apenas uma extremidade.

A classe Stack é um adaptador de contêiner. Container é um objeto que contém dados do mesmo tipo. A pilha pode ser criada a partir de diferentes contêineres de sequência. Se o contêiner não for fornecido, ele usará o contêiner deque padrão . Adaptadores de contêiner não suportam iteradores, portanto, não podemos usá-los para manipulação de dados. No entanto, eles oferecem suporte a funções de membro push () e pop () para inserção e remoção de dados, respectivamente.

Definição

Abaixo está a definição de std :: stack do arquivo de cabeçalho <stack>

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

Parâmetros

  • T - Tipo de elemento contido.

    T pode ser substituído por qualquer outro tipo de dados, incluindo tipo definido pelo usuário.

  • Container - Tipo do objeto recipiente subjacente.

Tipos de membros

Os seguintes tipos de membro podem ser usados ​​como parâmetros ou tipo de retorno por funções de membro.

Sr. Não. Tipos de membros Definição
1 value_type T (primeiro parâmetro do modelo)
2 Tipo de recipiente Segundo parâmetro do template
3 Tamanho Tipo size_t
4 referência value_type &
5 const_reference const value_type &

Funções de <stack>

Abaixo está uma lista de todos os métodos do cabeçalho <stack>.

Construtores

Sr. Não. Método e Descrição
1 stack :: stack construtor padrão

Constrói um objeto de pilha vazio, com zero elementos.

2 stack :: stack copy constructor

Constrói uma pilha com cópia de cada elemento presente em outra pilha.

3 stack :: stack move construtor

Constrói uma pilha com o conteúdo de outra usando a semântica de movimentação.

Destruidor

Sr. Não. Método e Descrição
1 pilha :: ~ pilha

Destrói a pilha ao desalocar a memória do contêiner.

Funções de membro

Sr. Não. Método e Descrição
1 stack :: emplace

Constrói e insere um novo elemento no topo da pilha.

2 stack :: empty

Testa se a pilha está vazia ou não.

3 stack :: operator = copiar versão

Atribui novos conteúdos à pilha, substituindo os antigos.

4 stack :: operator = mover versão

Atribui novos conteúdos à pilha, substituindo os antigos.

5 stack :: pop

Remove o elemento superior da pilha.

6 stack :: push copy version

Insere um novo elemento no topo da pilha.

7 stack :: push move version

Insere um novo elemento no topo da pilha.

8 Tamanho da pilha

Retorna o número total de elementos presentes na pilha.

9 stack :: swap

Troca o conteúdo da pilha com o conteúdo de outra pilha.

10 stack :: top

Retorna uma referência ao elemento superior da pilha.

Funções sobrecarregadas de não membros

Sr. Não. Método e Descrição
1 operador ==

Testa se duas pilhas são iguais ou não.

2 operador! =

Testa se duas pilhas são iguais ou não.

3 operador <

Testa se a primeira pilha é menor que a outra ou não.

4 operador <=

Testa se a primeira pilha é menor ou igual a outra ou não.

5 operador>

Testa se a primeira pilha é maior que a outra ou não.

6 operador> =

Testa se a primeira pilha é maior ou igual a outra ou não.

7 troca

Troca o conteúdo de duas pilhas.