首页 > 编程语言 > 详细

快排---python版

时间:2020-03-08 20:48:47      阅读:63      评论:0      收藏:0      [点我收藏+]
def quick_sort(list,start,end):
if start>=end: # 递归的退出条件
return
mid = list[start]
low = start
high = end
while low < high:
while low<high and list[high]>=mid: # 如果low与high未重合,high(右边)指向的元素大于等于基准元素,则high向左移动
high -= 1
list[low] = list[high]
while low<high and list[low]<=mid: # 如果low与high未重合,low指向的元素比基准元素小,则low向右移动
low += 1
list[high] = list[low]
list[low] = mid # 将基准元素放到该位置
quick_sort(list,start,low-1)
quick_sort(list,low+1,end)

if __name__ == ‘__main__‘:
list = [8,19, 1,10,888,4,45,33,3,44,9,9,11]
quick_sort(list,0,len(list)-1)
print(list)

快排---python版

原文:https://www.cnblogs.com/turningli/p/12444290.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!