pilha
Uma pilha é um conjunto ordenado de itens no qual novos itens podem ser inseridos e a partir do qual podem ser eliminados itens em uma extremidade chamada topo da pilha.
Ao contrário do que acontece com o vetor, a definição da pilha compreende inserção e a eliminação de itens, de modo que uma pilha é um objeto dinâmico constantemente mutável. A definição especifica que uma única extremidade da pilha é designada como o topo da pilha. Novos itens podem ser colocados no topo da pilha (em cujo caso este topo será deslocado para cima, de modo a corresponder ao novo primeiro elemento), ou os itens que estiverem no topo da pilha poderão ser removidos (em cujo caso esse topo será deslocado para baixo, de modo a corresponder ao novo primeiro elemento).
O atributo mais importante de uma pilha é que o último elemento inserido numa pilha é o primeiro elemento eliminado.
OPERAÇÕES PRIMITIVAS
As duas mudanças que podem ser introduzidas numa pilha recebem nomes especiais. Quando um item é incluído numa pilha, ele é empilhado sobre a pilha e, quando um item é removido, ele é desempilhado. Em função de uma pilha s e de um item i, executar a operação push(s, i) incluirá o item i no topo da pilha s. De modo semelhante, a operação pop(s) removerá o elemento superior e o retornará como valor da função. Assim, a operação de atribuição:
i = pop(s);
Remove o elemento posicionado no topo de s e atribui seu valor a i.
Devido à operação push que adiciona elementos a uma pilha, uma pilha é às vezes lista pushdown Não existe um limite máximo para o número de itens que podem ser mantidos numa pilha porque a definição não especifica quantos itens são permitidos no conjunto. Empilhar outro item numa pilha simplesmente produz um conjunto maior de itens. Entretanto, se uma pilha contiver um só item e ele for desempilhado, a pilha resultante não conterá itens e será chamada de pilha vazia. Embora a operação push seja aplicável a qualquer pilha, a operação pop não