Pilha (estrutura de dados)
A pilha é uma das estruturas de dados mais importantes na ciência da computação. Para entender como funciona uma pilha, pense em um baralho de cartas que está virado para baixo. Só podemos acessar facilmente a carta que está em cima. Quando queremos olhar para a carta de cima, há duas coisas que podemos fazer: podemos espreitá-la, mas deixá-la na pilha, ou podemos tirá-la da pilha. Quando abrimos o objeto de cima, estamos tirando-o da pilha. Se quisermos adicionar outra carta à parte superior da pilha, empurramos.
Uma pilha é chamada de coleção LIFO (last-in-first-out). Isto significa que a última coisa que adicionamos (empurrada) é a primeira coisa que é puxada (estampada). Se a última carta que colocamos em nossa pilha de cartas foi um ás, então a primeira carta que tiramos do topo é esse mesmo ás.
Duas ações em uma pilha: empurrar e estourar.
História
A pilha foi inicialmente proposta em 1955, e depois patenteada em 1957, pelo alemão Friedrich L. Bauer. O mesmo conceito foi desenvolvido independentemente, por volta da mesma época, pelo australiano Charles Leonard Hamblin.
Outras operações
Na linguagem moderna dos computadores, a pilha é geralmente implementada com mais operações do que apenas "push" e "pop". Algumas implementações têm uma função que retorna o comprimento atual da pilha. Outra operação típica do helper é "top" (também conhecida como "peek"), que pode retornar o elemento superior atual da pilha sem removê-la. Outra operação comum é a "dup", que faz uma cópia do elemento no topo da pilha.
Páginas relacionadas
- Máquina de empilhar