快速排序
来源:互联网 发布:php信息管理系统 编辑:程序博客网 时间:2024/05/29 04:38
快速排序算法原理
快速排序是对冒泡排序算法的一种改进,因为在冒泡排序算法中,每次都需要两两比较,而快速排序则通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,这样就可以比冒泡排序更快一点,把大小分层。
代码展示
public static void quickSort(int[] a, int left, int right) { if (left > right) { return; } int i = left; int j = right; int temp = a[left];//基准位数,将最左端的数字设置为基准位数 //开始寻找 while (i != j) { //由于是左端作为基准位数,所以要先从高位开始寻找,因为基准位数调整的时候,要找到比temp更小的数字 while(i<j&&a[j]>=temp){ j--; } while(i<j&&a[i]<=temp){ i++; } if(i<j){ //交换他们的值信息 //交换彼此的数据 int tt = a[i]; a[i] = a[j]; a[j] = tt; } } //交换基位数据 int kk = a[i]; a[i] = temp; a[left] = kk; //下一次迭代 quickSort(a, left, i - 1);//左半边 quickSort(a, j + 1, right);//右半边 }
参考:http://www.jianshu.com/p/3bf70aac0bef
阅读全文
0 0
- 快速排序
- 快速排序
- 快速排序
- 快速排序!
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- xcode9 图片记载不显示
- Codeforces 855 B Marvolo Gaunt's Ring
- 那些问题的神回复
- 机器学习入门笔记(八)----支持向量机SVM
- ping 丢包或不通时链路测试说明
- 快速排序
- CountDownLatch同步工具类
- leetcode 222. Count Complete Tree Nodes 计算满二叉树的节点数量
- 75. Sort Colors
- 数据库---那些不允许更新的视图
- 高性能CSS
- 嚼得菜根做得大事·《菜根谭》·十一
- java中main函数的参数String[] args 的理解
- 短信验证码 ----- 点击发送并实现定时器