muss meine mehr als 16000 QSOs wohl oder übel mit
QUICKSORT sortieren, da es bei Bubblesort ca. 4 Minuten
dauert. Jetzt habe ich mir aus der Liga PureBASIC einen
QUICKSORT Algorithmus heruntergeladen und einen Test
gemacht. Ein Random Generator erzeugt z.B. 10 beliebige
Zahlen und diese sollten vom QUICKSORT sortiert werden!
Das funktioniert aber nicht. QUICKSORT arbeitet zwar,
aber es erfolgt keine richtige Sortierung...
Was mache ich da noch falsch,
denn der QUICKSORT Quelltext wurde ja so vorgegeben!
Wer weiss woran es liegt, dem wäre ich sehr dankbar.
Hier der Quelltext:
Code: Alles auswählen
;------QUICKSORT-------------
Dim zahlen(10)
anzahl = 10
OpenConsole()
PrintN("ORIGINALZAHLEN:")
For i=0 To anzahl
zahlen(i)=Random(100)
Print(Str(zahlen(i))+" ")
Next i
PrintN("")
l = 0
r = 10
qsort:
i = l
j = r
pivot = zahlen(l)
While (i<=j)
While zahlen(i) < pivot: i=i+1: Wend
While zahlen(j) > pivot: j=j-1: Wend
If (i<=j)
temp=zahlen(i) : zahlen(i)=zahlen(j) : zahlen(j)=temp
i=i+1
j=j-1
EndIf
Wend
If (l<j) : r=j : Goto qsort : EndIf
If (i<r) : l=i : Goto qsort : EndIf
PrintN("ZAHLEN SORTIERT:")
For i = 0 To anzahl
Print(Str(zahlen(i))+" ")
Next i
PrintN("")
Print("FERTIG")
Input()
CloseConsole()
End
;-------------------------------------------------
Gerhard
edit redacid: codetags gesetzt.