Nachtrag:
Warum der Insertion Sort aber trotz der fehlerhaften Funktion das richtige Ergebnis liefert, habe ich bislang noch nicht verstanden:
Delphi-Quellcode:
procedure tdlgMain.SortData;
var
I: Word;
J: Word;
begin
for I := 1
to TotalRecs
do begin
J := I;
aData[0] := aData[I];
while (J > 0)
and (Less(0, J - 1))
do begin
aData[J] := aData[J - 1];
Dec(J);
end;
aData[J] := aData[0];
end;
end;
Er durchläuft zwar alle Datensätze bis zum Ende, aber benutzt halt dieselbe Funktion ...