def quicksort(li):
smaller = []
bigger = []
if len(li) < 1:
return li
k = li.pop()
for i in li:
#每一轮递归把数据分为两部门 一部分小于k 一部分大于k
if i > k:
bigger.append(i)
else:
smaller.append(i)
return quicksort(smaller) + [k] + quicksort(bigger)
li = [5,4,3,6,7,2,9,1,2,9]
print(quicksort(li))
快速排序的Python实现
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 最近在复习经典排序算法,自己用python也实现了一下,这里不会涉及到原理(因为网上方法已经很详细啦),就把函数贴...
- 个人技术博客地址:http://songmingyao.com/ 原理 在列表中挑选出一个基准值 将列表中的其它元...