Explorando a STL - Aula 3 - Stack

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