type UkPrvek = ^Prvek;
Prvek = record
info : integer;
predchudce, naslednik : UkPrvek;
end;
ObousmerSeznam = record
zacatek: UkPrvek;
konec: UkPrvek
end;
procedure init(var s: ObousmerSeznam);
begin
s.zacatek:=nil;
s.konec:=nil;
end;
procedure vlozNaZacatek(var s: ObousmerSeznam; hodnota: integer);
var novy : UkPrvek;
begin
new(novy);
novy^.info:=hodnota;
novy^.predchudce:= nil;
novy^.naslednik:=s.zacatek;
s.zacatek:=novy;
if s.konec = nil then s.konec:=novy
end;
procedure vlozNaKonec(var s: ObousmerSeznam; hodnota: integer);
var novy: UkPrvek;
begin
new(novy);
novy^.info:=hodnota;
novy^.naslednik:=nil;
novy^.predchudce:=s.konec;
s.konec:=novy;
if s.konec = nil then s.konec:=novy
end;
procedure vypis(s:ObousmerSeznam);
var aktivni: UkPrvek;
begin
aktivni:=s.zacatek;
while (aktivni <> nil) do begin
write(aktivni^.info,' ');
aktivni:=aktivni^.naslednik;
end;
end;
Nevite proc procedure vlozNaKonec nefunguje ?
A u metody vloz na zacatek tak u pridani 2. prvku na zacatek kdyz probehne tento prikaz novy^.naslednik:=s.zacatek;
tak druhy prvek predchudce furt ukazuje na NIL ?