【问题标题】:Error in QuickSort implementation快速排序实现中的错误
【发布时间】:2016-12-08 05:45:28
【问题描述】:

代码链接在这里:http://ideone.com/eba7CB
我似乎找不到错误。感谢任何帮助和批评。

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]

【问题讨论】:

    标签: python python-2.7 sorting quicksort


    【解决方案1】:

    替换 快速(i+1,r) 经过: 快速(i,r)

    【讨论】:

      猜你喜欢
      • 2013-08-09
      • 1970-01-01
      • 2018-10-21
      • 1970-01-01
      • 1970-01-01
      • 2021-09-05
      • 1970-01-01
      • 1970-01-01
      • 2011-03-29
      相关资源
      最近更新 更多