快速排序
快速排序
算法思想
代码
a[s]
作为基准元素:
1 | void quicksort(int* a, int s, int t) { |
随机生成基准元素:
1 | void quicksort(int* a, int s, int t) { |
扩展
quickminK
求一个数组中前k小的元素并排序。
如果k很小,使用选择排序或者插入排序。
如果k比较大,可以使用快速排序。
1 | void quickmink(int* a, int s, int t, int k) { |
quickselect
求第k小的元素。
1 | void quickselect(int* a, int s, int t, int k) { |