Java-排序算法之冒泡排序算法
来源:互联网 发布:软件开发职业规划 编辑:程序博客网 时间:2024/05/21 21:38
冒泡排序算法的思路就是交换排序,通过相邻数据的交换来达到排序的目的。
排序流程如下:
1、对数组中的各数据,依次比较相邻的两个元素的大小。
2、如果前面的数据大于后面的数据,就交换这两个数据。经过第一轮的多次比较排序后,便可将最小的数据排好。
3、再用同样的方法把剩下的数据逐个进行比较,最后便可按照从小到大的顺序排好数组各数据。
代码实现如下:
这种排序方法思路简单直观,缺点是执行的步骤稍长(从执行结果中可明显看出)。冒泡排序的效率比较低,下面给出改进方法。
1、改进1:加入一标志性变量exchange,用于标志某一轮排序过程中是否有数据交换,如果某一轮排序没有进行数据交换,则说明数据已经按要求排列好了,可立即结束排序,这样可避免不必要的比较过程。
代码实现:
2、改进2:改变循环的次数,第一次循环把最大的数据排到最后,第二次循环只对除最大数字之外的数据进行比较,这样就减少了一次比较的次数。就这样循环比较,每一次比较都会减少一次比较次数。
代码实现:
3、改进3:从后往前找最大的,从前往后找最小的;并加入标志性变量exchange(与改进1类似),这样一轮排序就可对整个数据进行全部排序。
代码实现:
敬请,各位路过的大牛们指点指正。
阅读全文
0 0
- Java-排序算法之冒泡排序算法
- java算法之冒泡排序
- java算法之冒泡排序
- Java-算法之冒泡排序
- Java 算法之冒泡排序
- java算法之冒泡排序
- java算法之冒泡排序
- java 算法之冒泡排序
- Java算法之冒泡排序
- java算法之冒泡排序
- Java算法之冒泡排序
- java排序算法之(冒泡排序法)
- java排序算法之(冒泡排序法)
- java排序算法之冒泡排序
- 排序算法之冒泡排序(JAVA)
- java排序算法之冒泡排序
- 排序算法之冒泡排序Java版
- Java实现排序算法之冒泡排序
- 替换空格【C++实现】
- ZooKeeper源码(2)cli,client,common,jmx,version包
- Matryx——去中心化合作平台
- 韩信点兵
- C++之STL set和map解析(4)---《C++ STL》
- Java-排序算法之冒泡排序算法
- 【loli的胡策】NOIP训练10.5(组合数学+catalan数讲解)
- golang 的指针和非指针方法的见解
- 购买实物金银的常见误区
- 自定义函数标签:实现前台小数据的获取
- 学习笔记-Docker基础命令
- Python的sort函数和sorted、lambda和cmp
- W
- leetcode(15)3sum