Hiho,
Ich hab mich ma an den ShellSort algorythmus gewagt. Er sortiert jetzt wunderbar, bis auf den letzten Datensatz.
Delphi-Quellcode:
Procedure TForm1.ShellSort();
var i, j, h : Integer;
v: Trun;
Begin
h:= 1;
Repeat
h:= (3 * h) +1;
Until (h > Length(Runs)-1);
Repeat
h:= (h
div 3);
For i:= (h+1)
To Length(Runs)-1
Do
Begin
v:= Runs[i-1];
j:= i;
While ((j > h)
and (Runs[j-h-1].sumtime > v.sumtime))
Do
Begin
Runs[j-1]:= Runs[j-h-1];
dec(j,h);
End;
Runs[j-1]:=v;
End;
Until (h = 1);
End;
TRun ist ein eigenes record mit ein paar variablen, wie z.B. das benutzte sumtime. Ich will also die array-Datensätze des arrays Runs nach sumtime sortieren. Er sortiert wie gesagt alles, nur den letzten Datensatz nicht. Es wäre wirklich toll wenn ihr meinen Denkfehler finden würdet.
Gruß Lee500