Estrutura de dados - exemplos de pilha e fila
A fila é também é uma estrutura de dados que permite inserir novos elementos e remover elementos anteriores, onde quando houver uma remoção de um elemento, o elemento removido é o primeiro, ou seja, oque está á mais tempo na estrutura. Como uma fila de banco, por exemplo, onde o primeiro da fila que está aguardando há mais tempo, será o primeiro a ser atendido.
A diferença entre as duas estruturas é basicamente essa, na pilha o primeiro elemento a ser removido será sempre o último a ser inserido oque está há menos tempo na estrutura, enquanto na fila o primeiro elemento a ser removido será o elemento que foi inserido primeiro, oque está há mais tempo na estrutura.
Exemplos:
Pilha:
Podemos utilizar essa estrutura para criar um algoritmo que transfere livros de uma caixa para outra, onde o primeiro elemento a ser retirado será o último a ser retirado.
Algoritmo que transfere livros de Pilha1 para Pilha 2 já existentes
(Por referência)
Variável auxiliar Livro do tipo Elemento da Pilha
Variável auxiliar DeuCerto? tipo boolean (verdadeiro ou falso)
Enquanto Pilha.Vazia (Pilha 1 ) = falso
Faça
Pilha.Desempilha (Pilha 1, Livro, DeuCerto? )
Pilha.Empilha(Pilha 2, Livro, DeuCerto? )
FimAlgoritimo
Algoritmo que empilha o elemento, DeuCerto tipo boolean (verdadeiro ou falso) deve indicar se a operação foi bem sucedida ou não.
Se P.Topo = Tamanho da Pilha
Então DeuCerto = Falso
Senão P.Topo = P.Topo + 1
P.Itens[ P.Topo ] = Elemento
DeuCerto = Verdadeiro
FimAlgoritmo
Algoritmo que desempilha o elemento. DeuCerto? tipo boolean (verdadeiro ou falso).
Desempilha ( P, Elemento, DeuCerto?)
Se DeuCerto?
Então Empilha