Witam mam problem z sortowaniem bąbelkowym listy jednokierunkowej, program mi się zawiesza i nie mogę znaleźć błędu. Przy okazji proszę o przejrzenie poprawności kodu (zastrzegam że jestem BARDZO początkujący):
begin
for i:=1 to last^.lp do
begin
edit:=root;
count:=root;
while count^.next<>nil do
begin
if count^.next^.wiek<count^.wiek then
begin
while (edit^.lp<>count^.lp)and(edit<>nil) do edit:=edit^.Next;
pref:=count;
pref^.next:=count^.next^.next;
edit:=count^.next;
edit^.next:=pref;
end;
count:=count^.Next;
end;
end;
Wskaźnik:
Pelement = ^data;
data=record
Next:Pelement;
lp:integer;
wiek:18..100;
Root to pierwszy element na liście, Last- ostatni. Bardzo proszę o szybkie odpowiedzi.