Considere o seguinte pseudocódigo sobre uma pilha: push(1), push(2), push(3), pop(), push(4), pop(), pop(). Qual o valor removido no último pop?
Selecione uma opção:
◯ "
◯ 4
◯ 3
◯ 1
◯ 2
◯ "
◯ 4
◯ 3
◯ 1
◯ 2
Passo 1
O enunciado fornece a sequência de operações sobre uma pilha (peguei estes comandos do enunciado): push
, push
, push
, pop
, push
, pop
, pop
.
A pergunta é: qual o valor removido no último pop?
A pergunta é: qual o valor removido no último pop?
Passo 2
O que é uma pilha e como ela funciona (explicação didática e direta).
- Uma pilha é uma estrutura de dados que funciona no princípio LIFO — “Last In, First Out” (último a entrar, primeiro a sair).
- A operação push
coloca o elemento , no topo da pilha. - A operação pop
remove e retorna o elemento que está no topo da pilha naquele momento.
Exemplo rápido: se a pilha écom topo em , então push torna a pilha e uma pop remove o .
Passo 3
Começo com a pilha vazia. Vou anotar o estado da pilha depois de cada operação. Representação:
com
sendo o topo (direita). Estado inicial:
Passo 4
Aplicando push
: coloca
no topo.
Passo 5
Aplicando push
e push
: cada push coloca o valor no topo, um depois do outro.
Passo 6
Aplicando o primeiro pop
(o quarto comando): remove o elemento do topo, que é
.
Passo 7
Aplicando push
(quinto comando) e em seguida pop
(sexto comando):
- push
coloca no topo:
- pop
remove o topo, que é :
Passo 8
Agora o último pop
(sétimo comando) remove novamente o topo atual. No momento a pilha é
com topo
. Portanto esse último pop
remove o valor
.