算法思想:
选取一个中间值,将小于这个值的数与大于这个值的数分开,在分别执行这个操作。
算法分析
时间复杂度:
最优
O
(
n
log
n
)
O(n\log n)
O(nlogn) 最差
O
(
n
2
)
O(n^2)
O(n2)
实现:
使用函数递归。大致如下
sort(待排序集合):
判断集合元素量是否为一:
是:输出,然后return结束函数
否:继续
选取中间值(比较快的做法是头元素与尾元素的均值)
分类
sort(小于等于这个值的集合)
sort(大于的)