快速排序的Java实现(二路快排)
2017-10-25 18:22
162 查看
开始从一边遍历,如果遇到arr[i]>l,那么开始遍历另一边,知道另一边遇到arr[j]
/** *快速排序,默认是l=0,r=arr.length-1 */ public static void quickSort(int[] arr,int l,int r){ if(l < r){ int i = l,j = r,x = arr[l]; while(i<j){ while(i < j && arr[j] > x) j--; if(i < j){ arr[i++] = arr[j]; /** * 首先执行arr[i] = arr[j] * 然后执行 i++ */ } while(i < j && arr[i] < x) i++; if(i < j){ arr[j --] = arr[i]; } } arr[i] = x; quickSort(arr,l,i-1); quickSort(arr,i+1,r); } } public static void printSorted(int[] arr,int l,int r){ if(l==0 && r == arr.length - 1) { test.quickSort(arr,l,r); }else{ System.out.println("输入的参数不合法"); return ; } for(int i = 0;i<arr.length;i++){ System.out.println(arr[i]); } }
相关文章推荐
- 排序算法复习(Java实现)(一): 插入,冒泡,选择,Shell,快速排序
- 排序算法复习(Java实现)(一): 插入,冒泡,选择,Shell,快速排序
- 排序算法复习(Java实现)(一): 插入,冒泡,选择,Shell,快速排序
- Java 常用排序算法实现--快速排序、插入排序、选择、冒泡
- 【排序系列】快速排序java实现
- 【转】排序算法复习(Java实现)(一): 插入,冒泡,选择,Shell,快速排序
- 快速排序Java实现
- Java分别实现冒泡排序、插入排序、快速排序、选择排序、交换排序
- 快速排序Java实现
- 快速排序--Java实现
- 4、 排序有哪几种方法?请列举。并用JAVA实现一个快速排序.
- 快速排序Java实现和Javascript实现
- java(Merge) 实现归并排序,快速排序
- 排序算法复习(Java实现):插入,冒泡,选择,Shell,快速排序, 归并排序,堆排序,桶式排序,基数排序
- 快速排序JAVA实现
- Java实现快速排序、归并排序、堆排序
- Java下实现快速排序
- java实现快速排序
- 快速排序方法Java实现与分析
- Java实现排序(快速排序、冒泡排序、选择排序、基数排序、插入排序)