快速排序代码
来源:互联网 发布:儿童故事大全软件 编辑:程序博客网 时间:2024/05/16 18:45
/** * description : 快速排序 * * @param pData * @param left * @param right * @return */ static void quicksort(int n[], int left, int right) { int dp; if (left < right) { dp = partition(n, left, right); quicksort(n, left, dp - 1); quicksort(n, dp + 1, right); } } static int partition(int n[], int left, int right) { int pivot = n[left]; while (left < right) { while (left < right && n[right] >= pivot) right--; if (left < right) n[left++] = n[right]; while (left < right && n[left] <= pivot) left++; if (left < right) n[right--] = n[left]; } n[left] = pivot; return left; }
①以第一个关键字 K 1 为控制字,将 [K 1 ,K 2 ,…,K n ] 分成两个子区,使左区所有关键字小于等于 K 1 ,右区所有关键字大于等于 K 1 ,最后控制字居两个子区中间的适当位置。在子区内数据尚处于无序状态。 ②把左区作为一个整体,用①的步骤进行处理,右区进行相同的处理。(即递归)③重复第①、②步,直到左区处理完毕。
0 0
- 快速排序代码
- 随机化快速排序代码
- 精简代码-快速排序
- 精简代码-快速排序
- 快速排序代码
- 快速排序的代码
- 快速排序 C代码
- 快速排序代码:
- 快速排序Java代码
- C++ 快速排序代码
- 快速排序简单代码
- 快速排序 代码实现
- 快速排序的代码
- 快速排序代码
- 快速排序代码
- 快速排序代码实现
- 快速排序代码
- 快速排序代码
- 双缓冲的使用—java语言
- mysql_fetch_array
- 项目开发主键生成知多少
- java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "javamelody jenkins
- 点击div跳转
- 快速排序代码
- Robotium版本更新日志翻译(不定期更新)
- 关于UITableView的contentInset属性
- [UE4]Animation Techniques used in Paragon部分翻译及索引
- Cuda在Ubuntu上的安装
- HDU 4642 简单博弈
- 系统常用命令章节 2016/3/29)ls命令
- 为什么使用消息队列?
- UVa 11401 - Triangle Countin