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:

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:
\text{push}(66)
\text{push}(12)
\text{push}(46)
\text{pop}()
\text{push}(89)
\text{pop}()
\text{pop}()
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 [\,\dots\,] com o elemento inferior à esquerda e o elemento do topo à direita. Ou seja, [a,b,c] significa que a está no fundo, c 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:
  • \text{push}(x): coloca o valor x no topo da pilha. Se a pilha era [\,\dots,t_{\text{antigo}}], depois vira [\,\dots,t_{\text{antigo}},x].
  • \text{pop}(): remove o elemento que estiver no topo e o retira da pilha. Se a pilha era [\,\dots,t], depois vira [\,\dots] sem o t. (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 \text{push}(66).
Explicação: como a pilha estava vazia [], ao empurrar 66 ele vira o único elemento e também o topo.
Estado da pilha após a operação: [66].

Passo 4

Aplicando \text{push}(12).
Explicação: \text{push}(12) coloca 12 no topo, acima do que já estava. A pilha anterior era [66], então 12 vai para a direita (topo).
Estado da pilha após a operação: [66,12].

Passo 5

Aplicando \text{push}(46).
Explicação: insere 46 no topo. Pilha anterior [66,12] → novo topo 46.
Estado da pilha após a operação: [66,12,46].

Passo 6

Aplicando \text{pop}().
Explicação: \text{pop}() remove o elemento que está no topo. Na pilha atual [66,12,46] o topo é 46, então \text{pop}() retira 46.
Estado da pilha após a operação: [66,12]. (O valor removido foi 46.)

Passo 7

Aplicando \text{push}(89).
Explicação: coloca 89 no topo da pilha. Pilha anterior [66,12] → adiciona 89 à direita.
Estado da pilha após a operação: [66,12,89].

Passo 8

Aplicando \text{pop}().
Explicação: remove o topo atual, que é 89. Pilha [66,12,89] → remove 89.
Estado da pilha após a operação: [66,12]. (O valor removido foi 89.)

Passo 9

Aplicando \text{pop}() (a terceira pop da sequência).
Explicação: remove o topo atual, que é 12. Pilha [66,12] → remove 12.
Estado da pilha após a operação: [66]. (O valor removido foi 12.)

Resposta

Após \text{push}(66): [66]
Após \text{push}(12): [66,12]
Após \text{push}(46): [66,12,46]
Após \text{pop}(): [66,12]
Após \text{push}(89): [66,12,89]
Após \text{pop}(): [66,12]
Após \text{pop}(): [66]

Exercícios relacionados