Hallo!
Beim Ausprobieren des Insertion-Sort Algorithmus wird bei mir stets der erste Eintrag ignoriert.
Dabei möchte ich direkt in einer Listbox Zahlenwerte sortieren.
Hier der Code:
Delphi-Quellcode:
procedure Tf_main.InsertionSort;
var
i, j: integer;
tauscher: string;
begin
//Elemente aus der unsortieren Listbox in die später sortierte Listbox kopieren
lb_sort.items.text := lb_sort.items.text;
//Insertion Sort --> 1. Element wird ignoriert
for i:=2 to (lb_sort.items.count-1) do
begin
tauscher := lb_sort.items[i];
j := i;
while strtoint(lb_sort.items[j-1])>strtoint(tauscher) and (j>1) do
begin
lb_sort.items[j] := lb_sort.items[j-1];
j := j-1;
end;
lb_sort.items[j] := tauscher;
end;
end;
Ich denke dass der Fehler in den beiden Zählvariablen liegt, da ja in einer Stringliste das 1. Element bei 0 beginnt.
Wie muss ich den Algorithmus entsprechend umschreiben
Christian