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/ 原理 在列表中挑选出一个基准值 将列表中的其它元...