快速排序之Java
2015-01-20 14:33
176 查看
/* 快速排序: 1、以第一个数作为基数 2、从右向左比较,找出第一个小于基数的数,记录下标j 3、从左往右比较,找出第一个大于基数的数,记录下标i 4、将i,j对应值交换 5、将i对应的小值赋值给low对应的基数值 6、将基数赋给i下标 7、循环。 */ class SortQuickDemo { public static void main(String[] args) { int [] a =new int[]{1,2,5,3,4,6,9,8,7}; sortQuick(a,0,8); for(int i : a) System.out.print(i + ".."); } public static void sortQuick(int a[],int low,int high) { if(low < high) { int mid = partition(a, low, high); sortQuick(a,low,mid-1); sortQuick(a,mid + 1,high); } } public static int partition(int a[],int low,int high) { int i=low,j=high,value=a[low]; while(i < j && a[j] >= value) j--; while(i < j && a[i] <= value) i++; if(i < j) { int temp = a[i]; a[i] = a[j]; a[j] = temp; } a[low] = a[i]; a[i] = value; return j; } }
相关文章推荐
- 排序算法复习(Java实现)(三): 插入,冒泡,选择,Shell,快速排序
- 快速排序(Java)
- 快速排序的Java实现
- java写的快速排序
- 《算法导论的Java实现》 8 快速排序
- Java实现快速排序
- PKU-1002使用java编写用快速排序为何一直Runtime Error 无解 留下问题 以后再看
- 递归分治法在快速排序中的应用 java以界面的方式实现
- 【转】排序算法复习(Java实现)(一): 插入,冒泡,选择,Shell,快速排序
- 快速排序原理及java实现
- java实现快速排序
- java快速排序
- Java快速排序
- 快速排序实现(JAVA)
- java+快速排序+随机生成数+英文翻译
- 数据结构——快速排序原理及算法Java实现
- 排序算法复习(Java实现)(一): 插入,冒泡,选择,Shell,快速排序
- java写的快速排序 记录下。。
- 会议安排---贪心算法---快速排序(java)
- 排序算法java版,速度排行:冒泡排序、简单选择排序、直接插入排序、折半插入排序、希尔排序、堆排序、归并排序、快速排序