Seite 1 von 1

quicksort fehler

Verfasst: Dienstag 5. April 2005, 10:04
von Arminius
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???

Verfasst: Dienstag 5. April 2005, 12:48
von mawe
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