Hi Martin,
IMHO ist hier der Fehler:
Delphi-Quellcode:
n:=tstr.Count;
for Zaehler1 := n downto 2 do
for Zaehler2 := 1 to Zaehler1-1 do
Deine Liste hat 7 Einträge, diese sind von 0-6 durchnummeriert. Also müsste der Code so lauten:
Delphi-Quellcode:
n:=tstr.Count-1;
for Zaehler1 := n downto 1 do
for Zaehler2 := 0 to Zaehler1-1 do
Bei der 2. Schleife bin ich mir nicht ganz sicher, aber bei der ersten ist 100%ig der Indexfehler drin.
Greetz
alcaeus
[add]
Zitat von
shmia:
1.) BubbleSort ist eines der schlechtesten Sortierverfahren; verwende lieber Quicksort
Und was wenn er BubbleSort implementieren muss (z.B. Schule)? Wenn er Bubblesort verwenden will, dann bitte.
Zitat von
shmia:
2.) du musst den Sortieralgorythmus von den Daten trennen.
IMHO ist das in diesem Fall nicht so leicht möglich, da er ja nicht nur 2 Zahlen vergleichen muss, sondern zuerst mal die Einträge auseinanderpflücken und anschließend vergleichen muss.
[/add]