[Pascal] Sortowanie listy

0

Mam prośbe:
Czy ktoś mógłby mi napisać procedure sortowania listy jednokierunkowej (algorytm sortowania dowolny - najlepiej coś prostego np. bombelkowe, proste wstawianie, prosta zamiana).
Założyc, że lista jest już wczytana i że znany jest adres pierwszego elementu.

0

Mniej więcej coś takiego będzie (nie sprawdzałem):

type PList = ^TList;
TList = record
Liczba: Byte;
Nast: PList;
end;

procedure Sortuj(var Pocz: PList);
var
p1, p2, q1, q2: PList;
begin
p1 := nil;
p2 := Pocz;
q1 := Pocz;
q2 := Pocz^.Nast;
while p2 nil do
begin
while q2 nil do
begin
if q2.Liczba > p2.Liczba then
begin
if p1 nil then
p1^.Nast := q2;
q1^.Nast := p2;
end;
q1 := q2;
q2 := q2^.Nast;
end;
p1 := p2;
p2 := p2^.Nast;
end;

1 użytkowników online, w tym zalogowanych: 0, gości: 1