您的位置:首页 > 编程语言 > Python开发

常用排序算法python实现:快速排序

2017-04-09 00:00 399 查看
#python快速排序
python version 3.6

def quick_sort(list,low,high):
if(low>high):
return;
i,j=low,high
key=list[i]
while(i<j):
#先从末尾扫描
while(i<j and list[j]>=key):
j-=1
if(i<j):
list[i]=list[j]
i+=1
#接着从开始扫描
while(i<j and list[i]<key):
i+=1
if(i<j):
list[j]=list[i]
j-=1
list[i]=key
quick_sort(list, low, i-1)
quick_sort(list, i+1, high)

def quick(list):
quick_sort(list, 0, len(list)-1)

list=[1,5,3,8,9,12,2,2,5,20]

quick(list)
print(list)

结果:[1, 2, 2, 3, 5, 5, 8, 9, 12, 20]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息