快速排序
来源:互联网 发布:mac预览图片 拖动 编辑:程序博客网 时间:2024/06/04 17:59
- 简单思想:利用分治法,默认取数组第一个元素作为参考点,以参考点为例,把数组分成一半小于参考点,另一半大于参考点。以原始数据为例4,1,2,5,9,6,7,第一次排序为4,1,2,5,9,6,7,再用相同的方法,对5左边进行排序,对5右边进行排序。
- 代码实现
public class Test6 { public static void main(String[] args) { // TODO Auto-generated method stub int[] num={4,1,2,5,9,6,7}; quicksort(num,0,num.length-1); for(int i=0;i<num.length;i++) { System.out.print(num[i]+" "); } } private static void quicksort(int[] num, int i, int j) { // TODO Auto-generated method stub if (i<j) { int key=num[i];//基准 int left=i; int right=j; //循环完一次就相当于一次排序 while (left<right) { while(left<right&&num[right]>key) { right--; } if (left<right) { num[left]=num[right]; left++; } while(left<right&&num[left]<key) { left++; } if (left<right) { num[right]=num[left]; right--; } } num[left]=key; quicksort(num, i, left-1); quicksort(num, left+1, j); } }}
阅读全文
0 0
- 快速排序
- 快速排序
- 快速排序
- 快速排序!
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- PyCharm使用技巧:Find Usages(查找引用)
- 深刻理解计算机中的补码
- Python3学习笔记6-类,面向对象编程
- 关于HLS之m3u8小结
- CDOJ1583-树状数组 (2017 UESTC Training for Data Structures)
- 快速排序
- 14th 【基础】宾馆房间
- Codeforces Round #396 D (带权并查集)
- Integer中127和128
- sklearn 练手
- 矩阵乘法的并行计算
- awk应用
- 3.1XML解析
- java中内部类的总结