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

Passo 1

O enunciado fornece a sequência de operações sobre uma pilha (peguei estes comandos do enunciado): push (1), push (2), push (3), pop (), push (4), pop (), 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 (x) coloca o elemento \,x, 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 é [\,1,2\,] com topo em \,2, então push (3) torna a pilha [\,1,2,3\,] e uma pop () remove o \,3.

Passo 3

Começo com a pilha vazia. Vou anotar o estado da pilha depois de cada operação. Representação: [\,a,b,c\,] com c sendo o topo (direita). Estado inicial:
\text{pilha} = [\,\,]

Passo 4

Aplicando push (1): coloca \,1 no topo.
\text{após push(1): pilha} = [\,1\,]ó

Passo 5

Aplicando push (2) e push (3): cada push coloca o valor no topo, um depois do outro.
\text{após push(2): pilha} = [\,1,2\,]ó
\text{após push(3): pilha} = [\,1,2,3\,]ó

Passo 6

Aplicando o primeiro pop () (o quarto comando): remove o elemento do topo, que é \,3.
\text{pop() remove }3 \quad\Rightarrow\quad \text{pilha} = [\,1,2\,]

Passo 7

Aplicando push (4) (quinto comando) e em seguida pop () (sexto comando):
  • push (4) coloca \,4 no topo:
\text{após push(4): pilha} = [\,1,2,4\,]ó
  • pop () remove o topo, que é \,4:
\text{pop() remove }4 \quad\Rightarrow\quad \text{pilha} = [\,1,2\,]

Passo 8

Agora o último pop () (sétimo comando) remove novamente o topo atual. No momento a pilha é [\,1,2\,] com topo \,2. Portanto esse último pop () remove o valor \,2.

Resposta

2

Exercícios relacionados