quicksort fehler

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Arminius
User
Beiträge: 11
Registriert: Montag 4. April 2005, 16:27

quicksort fehler

Beitragvon Arminius » Dienstag 5. April 2005, 10:04

hallo, ich bins wieder :D Hab hier quicksort vor mir und finde einfach den Fehler nicht. Kann mir jemand von euch helfen?

Code: Alles auswählen

def quicksort(L,li,re):
    l=li
    r=re
    cut=L[0]
    while l<=r:
        while L[l]<cut:
            l=l+1
        while L[r]>cut:
            r=r-1
        if l<=r:
            L[l],L[r]=L[r],L[l]
            l=l+1; r=r+1
    if li<r:
        quicksort(L,li,r)
    if re>l:
       quicksort(L,l,re)

L=[5,2,6,8,4]
x=len(L)-1
quicksort(L,0,x)
print L

was ist denn hierdran falsch???
mawe
Python-Forum Veteran
Beiträge: 1209
Registriert: Montag 29. September 2003, 17:18
Wohnort: Purkersdorf (bei Wien [Austria])

Beitragvon mawe » Dienstag 5. April 2005, 12:48

Hi!

Schau mal:

Code: Alles auswählen

...
while l<=r:
    print r       # <-
    while L[l]<cut:
...

Beim 2. Durchlauf ist r = 5. Das Element L[5] gibts aber nicht :wink:

Gruß, mawe

Wer ist online?

Mitglieder in diesem Forum: Google [Bot]