TRABALHO SI
Sequenciais e
Encadeadas
Pilha e Fila
Pilha
Conhecida como stack é uma pilha é uma estrutura do tipo LIFO – Last In First Out.
É uma lista linear onde as inserções e as remoções de itens são feitas em somente uma das extremidades, denominada topo da pilha. Por exemplo, em uma pilha de livros, a colocação ou retirada de um livro só pode ser feita no topo da pilha. Outro exemplo possível é uma pilha de pratos sendo lavados na pia.
Pilha
Uma pilha é uma das várias estruturas de dados que admitem remoção de elementos e inserção de novos elementos. Ela é uma estrutura sujeita à seguinte regra de operação: sempre que houver uma remoção, o elemento removido é o que está na estrutura há menos tempo. O conceito de pilha é amplamente utilizado na informática, como, por exemplo, durante a execução de um programa, para o armazenamento de valores de variável local a um bloco e também para conter o endereço de retorno do trecho de programa que chamou a função ou procedimento atualmente em execução.
Pilha
As operações que podem ser executadas em uma pilha são as seguintes:
1
- Inicializar uma pilha, tornando-a vazia
2 - Colocar um elemento no topo da pilha (empilhar)
3 - Verificar se a pilha está vazia
4 - Retirar o elemento que se encontra no topo da pilha (desempilhar)
5 - Acessar o elemento que está no topo da pilha
Pilha
Embora teoricamente uma pilha possa conter uma quantidade ilimitada de itens, em termos práticos esse valor é limitado. Assim, se tentarmos empilhar um item e se a pilha já estiver cheia, dizemos que ocorreu um overflow (estouro) na pilha. Da mesma forma, se tentarmos desempilhar um item de uma pilha vazia, dizemos que ocorreu um underflow na pilha.
Abaixo vemos vários estados de uma pilha ao tentarmos fazer operações de empilhar e desempilhar.
Implementação das pilhas usando array
Sendo uma pilha uma lista linear, podemos