快速排序
2017-08-17 11:41
148 查看
c++模板函数
test
template <typename T> int _quickSort(T* list, int low, int heigh) { if (low >= heigh) { return low; } T temp = list[low]; while (low < heigh) { while ((list[heigh] >= temp) && (low < heigh)) { --heigh; } if (low < heigh) { list[low] = list[heigh]; ++low; } while ((list[low] <= temp) && (low < heigh)) { ++low; } if (low < heigh) { list[heigh] = list[low]; --heigh; } } list[low] = temp; return low; } template <typename T> void QuickSort(T* list, int low, int heigh) { if (low >= heigh) { return; } int a = _quickSort(list, low, heigh); QuickSort(list, low, a - 1); QuickSort(list, a + 1, heigh); }
test
int main() { int sort[] = {6, 56, 1, 23, 35, 42, 14, 6, 7, 4}; QuickSort(sort, 0, (sizeof(sort) - 1) / sizeof(int)); return 0; }
相关文章推荐
- 冒泡排序、选择排序、快速排序、插入排序(希尔排序)、堆排序(十大排序)
- 快速排序
- 插入排序、快速排序、堆排序
- 快速排序总结
- 浅谈C++之冒泡排序、希尔排序、快速排序、插入排序、堆排序、基数排序性能对比分析之后续补充说明(有图有真相)
- 用栈来实现非递归快速排序。
- 排序算法———快速排序
- java 快速排序 时间复杂度 空间复杂度 稳定性
- 快速排序----(排序算法四)
- 排序 快速排序
- 快速排序 改进快排的方法
- Java 快速排序
- 快速排序
- 排序算法的C++实现与性能分析(插入排序、归并排序、快速排序、STOOGE排序、堆排序)
- 算法研究之快速排序java版
- 【排序及算法】冒泡/选择/插入/快速排序、顺序查找/折半查找算法
- 快速排序
- 快速排序
- 白话经典算法系列之六 快速排序 快速搞定
- 快速排序