Módulo 2 - Pilhas: a estrutura em que o último entra e sai primeiro
O que é uma pilha (LIFO)
8 min de leitura · por Cesar Gargiulo, revisado pela equipe ValorFinal e GuardiaSec · Atualizado em 12/07/2026
O que você vai aprender
- Entender a pilha como estrutura que segue a regra LIFO.
- Explicar por que só o topo da pilha é acessível.
- Reconhecer a pilha em situações do dia a dia, como uma pilha de pratos.
- Distinguir a pilha de uma lista comum, em que qualquer posição é acessível.
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: O que é uma pilha (LIFO).
Os objetivos desta aula. Entender a pilha como estrutura que segue a regra LIFO. Explicar por que só o topo da pilha é acessível. Reconhecer a pilha em situações do dia a dia, como uma pilha de pratos. Distinguir a pilha de uma lista comum, em que qualquer posição é acessível.
Veja o essencial, parte por parte.
Uma estrutura com uma regra só. A pilha é uma estrutura em que o último a entrar é o primeiro a sair (LIFO).
Por que só o topo importa. O que faz a pilha ser uma estrutura tão específica é justamente o que ela proíbe.
Pilha não é o mesmo que lista. O problema fala em desfazer, voltar ou reverter o último passo.
Esse foi o resumo do essencial. Para se aprofundar, leia a aula completa e responda os exercícios.
Uma estrutura com uma regra só
No módulo anterior você viu a diferença entre uma estrutura de dados, que guarda a informação, e um algoritmo, que age sobre ela. A pilha é a primeira estrutura abstrata que vamos estudar de verdade, e o bonito dela é a simplicidade. Uma pilha tem uma regra só, e essa regra decide tudo: o último item que você coloca é o primeiro que você tira. Nada de escolher um item do meio, nada de furar a ordem. Se você guardou dez coisas, a décima sai primeiro, depois a nona, e assim por diante, na ordem inversa da entrada.
A analogia que nunca falha é a pilha de pratos na cozinha. Você lava um prato e o coloca em cima da pilha. Lava outro, coloca em cima. Na hora de secar, pega o de cima, que foi o último a ser colocado. Ninguém puxa o prato do fundo, porque a torre inteira desabaria. A pilha de livros na escrivaninha funciona igual: o livro que você largou por último é o que está no topo, à mão. Toda pilha do mundo físico obedece a essa lógica de topo, e a pilha da programação apenas copia esse comportamento numa estrutura de dados.
Por que só o topo importa
O que faz a pilha ser uma estrutura tão específica é justamente o que ela proíbe. Numa lista, você pode ler o item de qualquer posição, o primeiro, o quinto, o último, a hora que quiser. A pilha abre mão dessa liberdade de propósito. Ela só deixa você mexer no topo, e essa restrição, longe de ser uma limitação boba, é o que a torna perfeita para certos problemas. Quando um problema tem a cara de desfazer o último passo, voltar ao ponto anterior ou tratar as coisas na ordem inversa, a pilha encaixa como uma luva, porque ela foi feita para isso. Escolher a estrutura certa é meia solução, e reconhecer o padrão do topo é o que faz você pensar em pilha.
🎮 Jogo da aula
Verdadeiro ou falso sobre pilhas
Cada afirmação fala de como uma pilha se comporta. Decida se é verdadeira ou falsa e confira a explicação.
Pilha não é o mesmo que lista
Vale reforçar a diferença, porque é fácil confundir. Por dentro, muitas linguagens constroem a pilha em cima de uma lista, então a matéria-prima é a mesma. Mas a pilha é um contrato de uso: ela promete que você só vai mexer no topo. Uma lista à qual você adiciona e remove só no final se comporta como uma pilha, mesmo que a estrutura por baixo seja um vetor comum. O que define a pilha não é como ela é guardada na memória, e sim quais operações ela permite. Essa ideia de separar o que a estrutura faz do como ela é feita é o conceito de tipo abstrato de dados, e a pilha é o primeiro exemplo concreto dele neste curso.
Teste rápido
Qual frase descreve corretamente a regra de uma pilha?
Perguntas frequentes
- O que significa a sigla LIFO?
- LIFO vem do inglês Last In, First Out, ou seja, último a entrar, primeiro a sair. É a regra que define a pilha: o item mais recente fica no topo e é o primeiro a ser retirado. O oposto é FIFO, a regra da fila, em que o primeiro a chegar é o primeiro a ser atendido.
- Por que a pilha só deixa mexer no topo?
- Essa restrição é de propósito. Ao permitir apenas o topo, a pilha garante a ordem inversa de saída, que é exatamente o que muitos problemas precisam, como desfazer uma ação ou voltar uma página. A limitação vira uma vantagem: a estrutura se especializa em resolver bem uma classe de problemas.
- Pilha e lista são a mesma coisa por dentro?
- A matéria-prima costuma ser a mesma, muitas linguagens montam a pilha sobre uma lista. A diferença está no contrato de uso: a pilha só permite adicionar e remover no topo, enquanto a lista deixa acessar qualquer posição. É a distinção entre o que a estrutura faz e como ela é feita.
- Dá para ter uma pilha vazia?
- Sim, e é o estado inicial normal. Uma pilha começa vazia, sem nenhum item. Você adiciona itens empilhando e os retira desempilhando. É importante checar se a pilha está vazia antes de tentar tirar algo, porque desempilhar de uma pilha vazia é um erro comum, tratado nas próximas aulas.
- A pilha guarda quantos itens?
- Depende da implementação. Em pseudocódigo e na maioria das linguagens modernas, a pilha cresce conforme você empilha, sem limite fixo além da memória disponível. Em ambientes com memória controlada existe um teto, e ultrapassá-lo causa o famoso estouro de pilha, um assunto que a aula da pilha de chamadas retoma.
- Onde a pilha aparece no computador sem eu perceber?
- Em vários lugares. O botão desfazer de um editor, o voltar do navegador e a própria pilha de chamadas de funções, que o computador usa para saber para onde retornar depois de cada chamada, são todos pilhas. A terceira aula deste módulo mostra esses casos com detalhe.
Fontes
Seu progresso fica salvo neste aparelho. Assinantes sincronizam entre os aparelhos.