Fronta celých čísel:
type
spoj = ^prvek;
prvek = record
hodnota: integer;
dalsi: spoj;
end;
var
fronta: spoj;
cislo: integer;
procedure Vytvor;
{ Vytvori frontu - inicializuje promennou predstavujici tuto frontu }
begin
fronta := nil;
end;
function Prazdna: boolean;
{ Jestlize je fronta prazdna, vraci true, jinak false }
begin
Prazdna := fronta=nil;
end;
procedure Pridej(x: integer);
{ prida na konec fronty prvek s hodnotou x }
var
pom, posledni: spoj;
begin
New(pom);
with pom^ do begin
hodnota := x;
dalsi := nil;
end;
if Prazdna then fronta := pom
else begin
posledni := fronta;
while(posledni^.dalsi <> nil) do
posledni := posledni^.dalsi;
posledni^.dalsi := pom;
end;
end;
procedure Odeber(var x: integer);
{ Vyjme z fronty prvni prvek, jeho hodnotu ulozi do parametru x }
var
pom: spoj;
begin
if Prazdna then
writeln('Fronta je prazdna, nelze nic odebrat!')
else begin
x := fronta^.hodnota;
pom := fronta;
fronta := fronta^.dalsi;
Dispose(pom);
end;
end;
begin { hlavni program }
Vytvor;
... pracujeme
while not Prazdna do Odeber(cislo);
end.