JAVA-快速排序算法
来源:互联网 发布:在win7下安装ubuntu 编辑:程序博客网 时间:2024/05/21 20:38
快速排序算法思想:从数组的头部和尾部分别开始扫描,首先默认数组的第一个数为中间枢纽,然后扫描数组,如果小于这个中间枢纽则排在左边,如果大于则排在右边。
方法代码:
// 最初调用:quickSort(arr, 0, arr.length - 1); /** * 先按照数组为数据原型写出算法,再写出扩展性算法。数组{49,38,65,97,76,13,27} * * @param array * @param left * @param right */ public static void quickSort(int[] array, int left, int right) { int pivotKey; if (left < right) { pivotKey = partitionByPivotValue(array, left, right); // 对左右数组递归调用快速排序,直到顺序完全正确 quickSort(array, left, pivotKey - 1); quickSort(array, pivotKey + 1, right); } } /** * pivotValue作为枢轴,较之小的元素排序后在其左,较之大的元素排序后在其右 * * @param array * @param left * @param right * @return */ public static int partitionByPivotValue(int[] array, int left, int right) { int pivotValue = array[left]; while (left < right) { while (left < right && array[right] >= pivotValue) { --right; } array[left] = array[right]; while (left < right && array[left] <= pivotValue) { ++left; } array[right] = array[left]; } array[left] = pivotValue; print(array); return left; }
0 0
- java快速排序算法
- Java快速排序算法
- Java快速排序算法
- Java快速排序算法
- java快速排序算法
- java快速排序算法
- JAVA快速排序算法
- java快速排序算法
- 快速排序算法(java)
- java快速排序算法
- java 快速排序算法
- Java算法快速排序
- java 快速排序 算法
- java快速排序算法
- java 快速排序 算法
- Java快速排序算法
- 快速排序算法java
- JAVA快速排序算法
- UI基础学习之(八):UISegmentedControl
- spring 定时任务
- 如何单独编译Android源代码中的模块
- 设置activity打开关闭动画——左右滑入滑出
- iOS重绘机制与图片拉伸
- JAVA-快速排序算法
- iOS库 .a与.framework区别和制作
- GDB使用和段错误调试技巧
- 关于quartus ii 破解失败的问题
- 解决android4.0 触摸屏分辨率映射不准
- POJ1661 Help Jimmy DP (待解决)
- nginx配置详解
- [[UIScreen mainScreen] bounds] 得到的大小跟什么有关系?
- jsp获取当前页面url(带参数)