2016-08-02 67 views
-6

代码链接在这里:http://ideone.com/eba7CB
我似乎无法找到该错误。任何帮助和批评都表示赞赏。
QuickSort实施中的错误

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 

的输出是[2,3,4,10,7,13]

回答

0

替换 快速第(i + 1,r)的 由: 快(I,R)