a = [67, 47, 13, 82, 28, 56, 10, 88, 85, 36]
def quick_sort(L):
return q_sort(L, 0, len(L)-1)
def q_sort(L, start, end):
if start < end:
pivot = partition(L, start, end)
q_sort(L, start, pivot-1)
q_sort(L, pivot+1, end)
return L
def partition(L, start, end):
key = L[start]
while start < end:
while start < end and L[end] >= key:
end -= 1
L[start] = L[end]
while start < end and L[start] <= key:
start += 1
L[end] = L[start]
L[start] = key
return start
quick_sort(a)
# a [10, 13, 28, 36, 47, 56, 67, 82, 85, 88]
快速排序代码实现
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 本文主要介绍用python实现基本的快速排序算法,体会一下python的快排代码可以写得多么简洁。 1. 三言两语...