A Fila é uma lista linear onde
as operações de inserção são efetuadas apenas no final da lista e retiradas
apenas no início da lista linear, ou seja:- A inserção de um elemento X torna-o o último
elemento da lista linear;
- A
retirada é sempre efetuada sobre o elemento A1.Devido às características das operações da fila, o primeiro elemento a ser inserido será o primeiro a ser retirado. Estruturas desse tipo são conhecidas como (FIFO - First-In First-Out).
Program Fila;
Type Dados = record
nome:string[20];
idade:integer;
peso:real;
prox:^Dados;
end;
var cauda, px, frente:^Dados;
z:char;
y:integer;
Procedure Inserir_Dados;
begin
new(px);
writeln('nome:');
readln(px^.nome);
writeln('idade:');
readln(px^.idade);
writeln('peso:');
readln(px^.peso);
if frente = nil then
begin
cauda:=px;
frente:=px;
end
else
begin
frente^.prox:=px;
frente:=px;
end;
end;
Procedure Apresentar;
begin
px:=frente;
repeat
if frente = nil then
writeln('Fila vazia')
else
begin
writeln('Nome: ',px^.nome);
writeln('Idade: ',px^.idade);
writeln('Peso: ',px^.peso);
px:=px^.prox;
end;
until px=nil;
end;
Procedure Remover;
begin
if frente = nil then
writeln('Fila vazia')
else
begin
px:=frente;
frente:=px^.prox;
dispose(px);
writeln('Dado removido');
end;
end;
Begin {Programa principal}
px:=nil;
Repeat
writeln('1- para introduzir dados');
writeln('2- para mostrar dados');
writeln('3- para eliminar');
writeln('Qual a opção?');
read(y);
Case y of
1:Inserir_dados;
2:Apresentar;
3:remover;
end;
writeln('Deseja continuar? (S ou N)');
readln(z);
Until z='N';
End.
Esquema da Fila

Sem comentários:
Enviar um comentário