Módulo 2 - Pilhas: a estrutura em que o último entra e sai primeiro
Empilhar, desempilhar e espiar o topo
8 min de leitura · por Cesar Gargiulo, revisado pela equipe ValorFinal e GuardiaSec · Atualizado em 12/07/2026
O que você vai aprender
- Usar as operações empilhar, desempilhar e espiar o topo.
- Entender que todas as operações mexem apenas no topo da pilha.
- Rastrear o conteúdo da pilha ao longo de uma sequência de operações.
- Reconhecer o perigo de desempilhar de uma pilha vazia.
Ouvir o resumo desta aula
Um recap de cerca de 2 minutos na voz do Valim, para ouvir no trânsito ou na academia.
Ler a transcrição do resumo
Resumo da aula: Empilhar, desempilhar e espiar o topo.
Os objetivos desta aula. Usar as operações empilhar, desempilhar e espiar o topo. Entender que todas as operações mexem apenas no topo da pilha. Rastrear o conteúdo da pilha ao longo de uma sequência de operações. Reconhecer o perigo de desempilhar de uma pilha vazia.
Veja o essencial, parte por parte.
Três operações, sempre no topo. Empilhar coloca um item no topo da pilha.
Rastreando o conteúdo passo a passo. A melhor forma de dominar a pilha é fazer o teste de mesa: acompanhar, operação por operação, o que sobra dentro dela.
O perigo de desempilhar do vazio. Desempilhar de uma pilha vazia não tem item para retornar e causa erro.
Esse foi o resumo do essencial. Para se aprofundar, leia a aula completa e responda os exercícios.
Três operações, sempre no topo
Uma das coisas que tornam a pilha agradável de usar é o quão poucas operações ela tem. Você não precisa decorar dezenas de comandos. São basicamente três. Empilhar recebe um valor e o coloca por cima de tudo, virando o novo topo. Desempilhar faz o inverso: tira o item que está no topo e te entrega esse valor, deixando à mostra o item que estava logo abaixo. Espiar o topo é a operação mais discreta, ela apenas te conta qual é o item de cima, sem mexer em nada. Todas as três trabalham no mesmo ponto, o topo, e é essa disciplina que preserva a ordem LIFO.
Repare na diferença sutil entre desempilhar e espiar, porque ela confunde muita gente. Desempilhar altera a pilha: depois dele, a pilha tem um item a menos. Espiar não altera nada: a pilha continua igual, você só deu uma olhada em quem estava por cima. Na prática, é a diferença entre tirar o prato de cima da pilha e apenas olhar qual é o prato de cima sem encostar nele. Saber quando você quer só consultar e quando quer de fato retirar evita bugs sutis, principalmente em algoritmos que precisam decidir com base no topo antes de removê-lo.
pilha <- []
empilhar(pilha, 5) // pilha: [5]
empilhar(pilha, 8) // pilha: [5, 8]
empilhar(pilha, 2) // pilha: [5, 8, 2]
escreva(topo(pilha)) // espia e mostra 2, a pilha continua [5, 8, 2]
x <- desempilhar(pilha) // x recebe 2, pilha: [5, 8]
escreva(x) // mostra 2
escreva(topo(pilha)) // agora o topo e 8Empilhar cresce a pilha; espiar (topo) só consulta; desempilhar retira e devolve o item de cima.
Rastreando o conteúdo passo a passo
A melhor forma de dominar a pilha é fazer o teste de mesa: acompanhar, operação por operação, o que sobra dentro dela. Comece com a pilha vazia e anote o estado depois de cada comando. Cada empilhar acrescenta um item no topo; cada desempilhar remove o do topo. Como a ordem é sempre inversa, a sequência de saídas espelha, de trás para frente, a sequência de entradas que ainda estão na pilha. Fazer esse rastreio à mão em papel, ou de cabeça, é o que separa quem entende a estrutura de quem só decorou a definição.
🎮 Jogo da aula
Qual valor sai no topo?
Acompanhe a pilha operação por operação, do vazio até o fim, e descubra o que o programa escreve.
pilha <- []
empilhar(pilha, 3)
empilhar(pilha, 7)
empilhar(pilha, 1)
desempilhar(pilha)
empilhar(pilha, 9)
escreva(topo(pilha))O perigo de desempilhar do vazio
Existe um erro que todo mundo comete pelo menos uma vez: tentar desempilhar de uma pilha que já está vazia. Se não há nenhum item, não há topo para retirar, e o programa quebra ou devolve um valor sem sentido. É o equivalente a tentar pegar um prato de uma pilha inexistente. A defesa é simples e deve virar hábito: antes de desempilhar, cheque se a pilha tem pelo menos um item. Muitas linguagens oferecem uma operação para saber se a pilha está vazia, e usá-la antes de cada retirada evita a maioria dos acidentes com pilhas.
Teste rápido
Qual a diferença entre desempilhar e espiar o topo de uma pilha?
Perguntas frequentes
- Empilhar e desempilhar têm outros nomes?
- Sim. Em inglês, empilhar é push e desempilhar é pop, nomes que aparecem em quase todas as linguagens. Espiar o topo costuma se chamar peek ou top. No pseudocódigo usamos os termos em português, mas é bom reconhecer os nomes originais, porque você vai encontrá-los na documentação e nos códigos reais.
- Espiar o topo muda a pilha?
- Não. Espiar apenas mostra qual é o item de cima, sem retirá-lo. A pilha continua exatamente igual depois de um peek. Só o desempilhar remove de fato o item do topo. Confundir os dois leva a bugs, porque você acha que consultou mas na verdade retirou, ou o contrário.
- Posso empilhar tipos diferentes na mesma pilha?
- Depende da linguagem. Em pseudocódigo e em linguagens mais flexíveis, sim, você pode empilhar números e textos juntos. Em linguagens com tipos rígidos, a pilha costuma guardar um tipo só. Na dúvida, mantenha a pilha com itens do mesmo tipo, o que torna o código mais claro e menos sujeito a erro.
- Quanto custa empilhar e desempilhar?
- Pouquíssimo. Como as duas operações mexem só no topo, elas são muito rápidas e não dependem do tamanho da pilha. Adicionar ou remover é sempre um trabalho fixo, seja a pilha pequena ou enorme. Essa eficiência constante é uma das razões de a pilha ser tão usada em algoritmos.
- O que acontece se eu desempilhar de uma pilha vazia?
- Não há item para retirar, então o programa costuma gerar um erro ou devolver um valor inválido. É por isso que se recomenda checar se a pilha está vazia antes de desempilhar. Essa checagem é parte natural de muitos algoritmos que usam pilha e evita quebras inesperadas.
- Como sei quantos itens tem a pilha?
- A maioria das implementações oferece uma forma de consultar o tamanho da pilha, sem precisar desempilhar tudo. No pseudocódigo, pense na quantidade de itens acumulados pelos empilhar menos os desempilhar. Saber o tamanho ajuda, mas lembre que você ainda só pode acessar o item do topo.
Fontes
Seu progresso fica salvo neste aparelho. Assinantes sincronizam entre os aparelhos.