Escrito por Thiago Mota e Anita Almeida
Stack (ou pilha) é uma estrutura de dados da STL que simula uma pilha, de forma que só é possível inserir e remover elementos do seu topo.
Declaração
Para utilizarmos a estrutura pilha, precisamos da biblioteca <stack>. A sua declaração é bastante similar à de um vector.
Inserção e remoção de elementos
A pilha possui duas operações muito importantes, o push() e o pop(). O push() insere um elemento no topo da pilha e o pop() remove o elemento do topo. Além disso, para acessar o elemento que está no topo da pilha atualmente, usamos a função top().
Acesso a todos os elementos
Assim como no vector, a função size() retorna o tamanho atual da pilha. Além disso, existe também a função empty(), que retorna um bool informando se a pilha está vazia ou não. Portanto, podemos iterar por todos os elementos de uma pilha da seguinte forma:
Nota: Perceba que o método acima remove todos os elementos da pilha.
Problemas para praticar:
Problema 1 - Expressões
Problema 2 - Chaves
Problema 3 - Zero para Cancelar