Einzelnen Beitrag anzeigen

trialfreak

Registriert seit: 19. Okt 2003
24 Beiträge
 
Delphi 6 Professional
 
#1

Problem mit Insertion Sort

  Alt 19. Okt 2003, 20:22
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
  Mit Zitat antworten Zitat