快速排序的最简易实现
2016-07-10 22:28
239 查看
/** * 自己实现快速排序; * 1.取int[left]为基准数,把比它大的数移到右边,比他小的移到左边 * 2.再对左右区重复上述步骤,直至每个区间只有一个数 */ public void quickSort(int[] n, int left, int right) { if (left < right) { int i = left, j = right, x = n[left]; while (i < j) { while (i < j && n[j] >= x) { j--; } if (i < j) { n[i] = n[j]; i++; } while (i < j && n[i] <= x) { i++; } if (i < j) { n[j] = n[i]; j--; } } n[i] = x; quickSort(n, left, i - 1); quickSort(n, i + 1, right); } }
相关文章推荐
- 快速排序
- 书评:《算法之美( Algorithms to Live By )》
- 动易2006序列号破解算法公布
- C#递归算法之分而治之策略
- Ruby实现的矩阵连乘算法
- C#插入法排序算法实例分析
- C#算法之大牛生小牛的问题高效解决方法
- C#算法函数:获取一个字符串中的最大长度的数字
- 超大数据量存储常用数据库分表分库算法总结
- C#数据结构与算法揭秘二
- C#冒泡法排序算法实例分析
- C#快速排序算法实例分析
- C#递归算法之快速排序
- 算法练习之从String.indexOf的模拟实现开始
- C#算法之关于大牛生小牛的问题
- C#实现的算24点游戏算法实例分析
- 经典排序算法之冒泡排序(Bubble sort)代码
- c语言实现的带通配符匹配算法
- 浅析STL中的常用算法
- 算法之排列算法与组合算法详解