快速排序代码
来源:互联网 发布:自动生成logo软件 编辑:程序博客网 时间:2024/05/29 14:04
算法原理见:
http://blog.csdn.net/morewindows/article/details/6684558
写的很通俗易懂了。
然后按照文章里的理论,写了一把代码。也算通俗易懂^^
package sort;import java.util.Arrays;import java.util.Random;public class FastSort { /** * * * @param array source array * @param start, start and end,def a range of array should sort * @param end */ private static void sort(int[] array, int start, int end) { int i = start; int j = end; /*用来比较的标准值 * 当array[i]>stand的时候,将array[i]移动到stand的后面 * 当array[j]<=stand的时候,将array[j]移动到stand的前面 */ int stand = array[i]; int flag = 0;//0比较end,1比较start while (i != j) { if (flag == 0) { if (stand < array[j]) { j--; } else { array[i] = array[j]; i++; flag = 1; } } else { if (stand >= array[i]) { i++; } else { array[j] = array[i]; j--; flag = 0; } } } //停止位,将该值设置成stand array[i] = stand; //左边,右边分别排序 if (start < i - 1) { //在i的左边不止一个数组 sort(array, start, i - 1); } if (i < end - 1) { //在i的右边不止一个数组 sort(array, i + 1, end); } } public static void sort(int[] array) { sort(array, 0, array.length - 1); } public static void main(String[] args) { int[] arr = new int[1000]; Random r = new Random(); for (int i = 0; i < 1000; i++) { arr[i] = r.nextInt(1000); } sort(arr); System.out.println(Arrays.toString(arr)); }}
0 0
- 快速排序代码
- 随机化快速排序代码
- 精简代码-快速排序
- 精简代码-快速排序
- 快速排序代码
- 快速排序的代码
- 快速排序 C代码
- 快速排序代码:
- 快速排序Java代码
- C++ 快速排序代码
- 快速排序简单代码
- 快速排序 代码实现
- 快速排序的代码
- 快速排序代码
- 快速排序代码
- 快速排序代码实现
- 快速排序代码
- 快速排序代码
- STL-vector
- 插入排序
- linux下的命令行词典
- Linux学习路线参考
- Hadoop环境搭建(一、创建虚拟机)
- 快速排序代码
- Tstools合并H264为TS流源码分析
- Android之eclipse 自定义菜单工具栏
- linux系统安装mysql5.7(一)
- 71.Binary Tree Zigzag Level Order Traversal-二叉树的锯齿形层次遍历(中等题)
- Oracl基本操作SQL
- Bezier曲线、B样条和NURBS的基本概念
- Android Studio配置SVN服务器
- U8 搭建