2016-08-02 29 views
-6

Der Code ist hier verknüpft: http://ideone.com/eba7CB
Ich kann nicht scheinen, den Fehler zu finden. Jede Hilfe und Kritik wird geschätzt.
Fehler in QuickSort-Implementierung

ar = [] 

def quick(l, r): 
    if (r-l) <= 1: 
     return 

    pivot = ar[l] 
    i = l+1 
    for j in range(l+1,r): 
     if ar[j] < pivot: 
      ar[i],ar[j] = ar[j],ar[i] 
      i+=1 

    ar[i-1],ar[l] = ar[l],ar[i-1] 
    # print i,j 
    quick(l,i) 
    quick(i+1,r) 


def qSort(): 
    l = 0 
    r = len(ar) 
    quick(l,r) 

ar = [4, 2, 13, 10, 7, 3] 

qSort() 
print ar 

Der Ausgang ist mit [2, 3, 4, 10, 7, 13]

Antwort

0

ersetzen Schnell (i + 1, r) von: Schnell (i, r)