代码拉取完成,页面将自动刷新
#coding:utf-8
'''
email: chenyan@feling.net
快速排序(原地排序,归并没办法原地,只能返回新的序列)
invented by Tony Hoare 1962
'''
def partition(l, begin, end):
x = l[begin]
i = begin
for j in range(begin+1, end):
if l[j]<=x:
i += 1
l[i], l[j] = l[j], l[i]
l[i], l[begin] = l[begin], l[i]
return i
def quicksort(l, begin=0, end=-9):
'''
>>> l = [0, 3, 2, 2, 5, 8, 2, 1, 4, 6, 7]
>>> quicksort(l)
>>> l
[0, 1, 2, 2, 2, 3, 4, 5, 6, 7, 8]
'''
if end==-9:
end = len(l)
if begin<end:
i = partition(l, begin, end)
quicksort(l, begin, i)
quicksort(l, i+1, end)
if __name__=='__main__':
import doctest
doctest.testmod()
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。