算法导论之快速排序
Posted 风影流痕
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了算法导论之快速排序相关的知识,希望对你有一定的参考价值。
快速排序
算法原理
通过遍历数据,将其(标记)分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据小,然后再对这两部分数据分别进行上述操作,整个排序过程可以递归进行,直到所有数据有序排列。
算法实现
def quick_sort(x, start, end):
if start >= end:
return
i = start
j = end
key = x[start]
while i < j:
while i < j and x[j] >= key:
j -= 1
x[i] = x[j]
while i < j and x[i] <= key:
i += 1
x[j] = x[i]
x[i] = key
quick_sort(x, start, i-1)
quick_sort(x, i+1, end)
运行实例
输入:
x = [13, 18, 87, 73, 95, 31, 96, 82, 49, 30]
quick_sort(x)
print(x)
输出:
[13, 18, 30, 31, 49, 73, 82, 87, 95, 96]
以上是关于算法导论之快速排序的主要内容,如果未能解决你的问题,请参考以下文章