Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Introduo
Em determinadas situaes se faz necessrio a restrio de entrada e sada de dados. Essas restries so critrios adotados, que gerenciam uma ordem. Os critrios so:
LIFO; FIFO.
LIFO:
Last In First Out; O primeiro a ser retirado o ltimo que foi colocado
pilha
FIFO:
First In First Out; O primeiro elemento a ser retirado o primeiro que foi colocado.
Fila
As pilhas e Filas so estruturas que tambm como as listas seqenciais, no necessitam de grandes movimentaes, e que os nos para as inseres e remoes esto em posies especiais (primeira e ltima). Essas posies geralmente utilizam-se de um ponteiro, que no caso da pilha, o topo.
Filas
Fila uma estrutura FIFO que se define como uma lista linear. Para se entender o conceito de uma pilha basta imaginar a fila de um banco. A fila do caixa da UNIFEV, etc... Existem Filas seqenciais e dinmicas.
Um exemplo de no fila
Um exemplo de Fila
Definio
Uma fila uma lista na qual as inseres so feitas em uma extremidade chamada cauda, e as retiradas so feitas na outro extremidade, chamada cabea. [COLLINS, 1998, p.193]
Para Pereira (1996), a insero realizada no FINAL e a remoo no COMEO. A ordem de sada corresponde a ordem de entrada dos elementos, onde o primeiro que entrou ser o primeiro a sair.
Critrios
Uma Fila se insere elementos ao final Em uma Fila se retira elementos do incio
Operaes
Criar; Verificar fila vazia; Verificar tamanho; Acessar o elemento que esta na cabea; Inserir um elemento da cauda; Eliminar um elemento da cabea.
Funes
Utilizao
Segundo Pereira (1996), uma fila se aplica em computao grfica na colorao de desenhos, matrizes de pontos; Sistemas operacionais impresso;; Etc...
Algoritmo
F:
Comeo
Final
Exemplo
Operao Enqueue(F,a) Enqueue(F,b) Enqueue(F,c) Enqueue(F,d) Dequeue(F) Dequeue(F) Estado da pilha F:[ a] F:[a,b ] F:[a,b,c ] F:[a,b,c,d ] F: [b,c,d ] F: [d,c ] A B resultado
Enqueue(F,e) Enqueue(F,f)
Enqueue(F,Deque ue (F)) Dequeue(F) Dequeue(F) Dequeue(F)
Definindo a Fila
struct fila{ int comeco; int final; int memo[tamnho]; }; struct fila f;
inicializando
Uma funo que zere os elementos da fila. f.comeco = -1; f.final = -1;
Enqueue inserir
Criar uma rotina que receba valor por referencia e a funo no precisa de retorno. enqueue ( elemento valor) f.memo [ f.final]= x; f.final = f.final +1;
Dequeue removendo
Funo que retorne a nova posicao dequeue (tipo fila) f.memo[f.comeco]=NULL; f.comeco = f.comeco +1;
Verificar elemento
Funo que apresenta os valores de uma fila.
Exerccio
Construir o programa que permita, atravs de funes as rotinas abaixo: Criar; Verificar tamanho; Verificar se vazia; Inserir; Remover; Verificar seu contedo.
Bibliografias
COLLINS, WJ. Programao estruturada com estudos de casos em Pascal. So Paulo: McGraw-Hill, 1988. PEREIRA, SL do. Estruturas de Dados Fundamentais: Conceitos e Aplicaes. So Paulo: rica, 1996. SCHILD, H. C, Completo e Total. So Paulo: Makron, McGraw-Hill, 1990. SZWARCFITER, JL; MARKENZON, L. Estruturas de Dados e seus Algoritmos. 2 ed. Rio de Janeiro: LTC, 1994. TENENBAUM, AM. Estruturas de dados usando C. So Paulo: Makron Books, 1995. ZIVIANI, N Projeto de Algoritmos: com implementao em Pascal e C. So Paulo: Pioneira Thomson Learnning, 2002.