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

Velocidade

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.

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.

Uma torre de pratos empilhados verticalmente, numerados de baixo para cima como primeiro a entrar, segundo, terceiro e quarto no topo. Uma seta apontando para o prato do topo mostra que é o único acessível, com o rótulo LIFO: o último a entrar é o primeiro a sair. Uma mão retira o prato de cima.
Numa pilha, o último item colocado fica no topo e é o primeiro a sair. Só o topo é acessível.

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.