关住 公 纵 号 “ 阿蒙课程分享 ” 获得学习资料及趣味分享
参考的博客 http://blog.csdn.net/morewindows/article/details/6684558
from __future__ import print_function a = [72,6,57,88,60,42,83,73,48,85] def quick_sort(a,l,r): if l <r: indexi = l indexj = r X = a[l] #取得基数 while indexi < indexj: while indexi < indexj and a[indexj] >= X: indexj -= 1 if (indexi < indexj): a[indexi] = a[indexj] indexi += 1 while indexi <indexj and a[indexi] < X: indexi += 1 if indexi < indexj: a[indexj] = a[indexi] indexj -=1 a[indexi] = X quick_sort(a,l,indexi-1) quick_sort(a,indexi+1,r) quick_sort(a,0,len(a)-1) print(a)
总结 :首先说一下,在进行数组传递的时候,一定不要用 python 的切片,a 作为参数传递和 a[:5] 作为参数传递是有区别的,后者是复制了一个副本,所以会导致你把副本已经排序了,但是原版本还是没有改变