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