冒泡排序
来源:互联网 发布:sql server 2008 激活 编辑:程序博客网 时间:2024/06/06 05:41
冒泡排序原理
冒泡排序算法的运作如下:(从后往前)
1. 比较相邻的元素。如果第一个比第二个大,就交换他们两个。
2. 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
3. 针对所有的元素重复以上的步骤,除了最后一个。
4. 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较
5. 需要注意的是,每一次的比较都可以得到一个合适的数字放置到最后,因为范围是一点一点在减小的
代码展示
/** * 基本原理: * 原理是临近的数字两两进行比较,按照从小到大或者从大到小的顺序进行交换, * <p> * 这样一趟过去后,最大或最小的数字被交换到了最后一位, * <p> * 然后再从头开始进行两两比较交换,直到倒数第二位时结束,其余类似看例子 */ public static void bubbleSort(int[] a) { for (int i = 0; i < a.length - 1; i++) { //最多做n-1趟排序 for (int j = 0; j < a.length - i - 1; j++) { if (a[j] < a[j + 1]) { //对当前无序区间score[0......length-i-1]进行排序(j的范围很关键,这个范围是在逐步缩小的) //第一趟就把最小的元素交换到了最后面,所以里面的范围是一直在做减少的操作 int temp = a[j]; a[j] = a[j + 1]; a[j + 1] = temp; } } } }
冒泡排序,顾名思义就是从底部一层一层的迭代比较上去,直到比较到最后一个数字,就有点类似冒泡的意思。这个算法的重点就是里面的循环是在不断的递减的。
阅读全文
0 0
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- JAVA中的工厂模式和单例模式讲解
- C++如何调用C#编写的DLL
- spring boot(20)-开发工具devtools
- Native Apps、Web Apps
- Xcode9新特性
- 冒泡排序
- Yii2语言包设置
- sql性能优化VW_NSO_1走NSETED LOOPS
- Code signing is required for product type 'Application' in SDK 'iOS 10.0'
- Qt信号与槽实现原理
- 【算法+OpenCV】图像极坐标变换及基于OpenCV的实现
- andriod 软键盘
- 关于java 中的i++和++i [个人理解]
- 无联网条件下的Docker部署