我的快速排序代码无效。它有什么问题?

时间:2016-02-05 21:18:27

标签: python sorting quicksort

def quicksort(a):
  if len(a) > 1:
     pivot = a[0]
     i = 1
     j = len(a)-1
     while j >= i:
        if a[i] < a[0]:
           i += 1
        elif a[j] > a[0]:
           j = j-1
        elif a[i] > a[0] and a[j] < a[0]:
           a[i],a[j] = a[j],a[i]
           i += 1
           j = j-1
     a[0],a[j] = a[j],a[0]
     quicksort(a[:j])
     quicksort(a[j+1:])

a = [9,4,1,3,2,5,8,6,7] 
quicksort(a) 
print a

在结果中,我得到的是返回的列表,其中交换了第一个和最后一个值。

0 个答案:

没有答案