Uczę się algorytmiki, chce napisać rekurencyjną wersje sortowania bąbelkowego. Próbowałem już na kilka sposobów i na chwile obecną mam coś takiego :
Procedure sort (var a: array of integer;
j: integer=1;
licznik: integer= 0;
stop: Boolean= false);
var
pom: integer;
begin
if not(stop) then
begin
if j < n then
begin
if a[j] > a[j+1] then
begin
pom:= a[j];
a[j]:= a[j+1];
a[j+1]:= pom;
sort (a, j+1, licznik + 1, false);
end else
sort (a, j+1, licznik , false);
end else
begin
if licznik = 0 then
stop:= true;
sort (a, j, 0 , stop);
end;
end;
end;
Ale niestety to nie działa i nie wiem dlaczego [???] , mógł by mi ktoś pomóc i wskazać gdzie w tym kodzie może być błąd ?