Dificuldade ★☆☆
2 minutos de Leitura 🕒
Uma pilha é uma estrutura de dados linear em que elementos são adicionados e retirados de uma mesma extremidade. Por essa característica, pilhas também são conhecidas como estruturas LIFO (Last-In First-Out, Último a Entrar Primeiro a Sair).
Uma analogia para essa estrutura de dados é uma pilha de livros. Livros são sempre colocados e retirados do topo da pilha.
Uma pilha p
pode ser construída com os seguintes componentes:
p.celulas[]
: células que armazenam os elementos da pilha.p.topo
: um ponteiro que referencia o elemento do topo da pilha.p.tamanho
: um inteiro que conta o número de elementos na pilha.tamanho()
retorna o número de elementos em uma pilha.empilhar()
insere um elemento no topo de uma pilha.desempilhar()
remove o elemento do topo de uma pilha.p.tamanho
.p.topo
para referenciar uma nova célula.x
na célula referenciada pelo ponteiro de topo da pilha p.topo
.p.tamanho
.p
está vazia. Em caso afirmativo, vá para o Passo 2. Caso contrário, vá para o Passo 3."pilha vazia"
.x
o elemento referenciado pelo ponteiro de topo da pilha p.topo
.p.topo
para referenciar a célula abaixo do topo atual.p.tamanho
.x
.Veja o código completo no GitHub.