Considere a seguinte sequência de operações:
- push(66)
- push(12)
- push(46)
- pop()
- push(89)
- pop()
- pop()
Considere que as operaçōes são realizadas em uma pilha inicialmente vazia. Indique o estado da pilha após cada operação:
Considere que as operaçōes são realizadas em uma pilha inicialmente vazia. Indique o estado da pilha após cada operação:
Passo 1
O enunciado fornece uma sequência de operações sobre uma pilha inicialmente vazia e pede que você indique o estado da pilha após cada operação. As operações, na ordem dada, são:
Informações relevantes: a pilha começa vazia; cada operação é executada na ordem; precisamos registrar o estado da pilha imediatamente após cada operação.
Passo 2
Antes de começar a aplicar as operações, vamos combinar uma forma clara de mostrar a pilha e revisar o que cada operação faz (calma, é rápido e útil para a prova).
Representação: vou escrever a pilha como uma lista
com o elemento inferior à esquerda e o elemento do topo à direita. Ou seja,
significa que
está no fundo,
está no topo. Essa escolha é só convenção para leitura — o importante é saber que o topo é o último elemento da lista que eu mostrar.
Significados:
-
: coloca o valor no topo da pilha. Se a pilha era , depois vira . -
: remove o elemento que estiver no topo e o retira da pilha. Se a pilha era , depois vira sem o . (Aqui não temos pops sobre pilha vazia — todas as pops têm elemento para remover.)
Agora sim: vamos aplicar cada operação, uma a uma, mostrando o estado depois de cada uma.
Passo 3
Aplicando
.
Explicação: como a pilha estava vazia
, ao empurrar
ele vira o único elemento e também o topo.
Estado da pilha após a operação:
.
Passo 4
Aplicando
.
Explicação:
coloca
no topo, acima do que já estava. A pilha anterior era
, então
vai para a direita (topo).
Estado da pilha após a operação:
.
Passo 5
Aplicando
.
Explicação: insere
no topo. Pilha anterior
→ novo topo
.
Estado da pilha após a operação:
.
Passo 6
Aplicando
.
Explicação:
remove o elemento que está no topo. Na pilha atual
o topo é
, então
retira
.
Estado da pilha após a operação:
. (O valor removido foi
.)
Passo 7
Aplicando
.
Explicação: coloca
no topo da pilha. Pilha anterior
→ adiciona
à direita.
Estado da pilha após a operação:
.
Passo 8
Aplicando
.
Explicação: remove o topo atual, que é
. Pilha
→ remove
.
Estado da pilha após a operação:
. (O valor removido foi
.)
Passo 9
Aplicando
(a terceira pop da sequência).
Explicação: remove o topo atual, que é
. Pilha
→ remove
.
Estado da pilha após a operação:
. (O valor removido foi
.)
Resposta
Após
:
Após :
Após :
Após :
Após :
Após :
Após :
Após
Após
Após
Após
Após
Após