Java排序再巩固--BubbleSort
来源:互联网 发布:linux tftp服务器 cps 编辑:程序博客网 时间:2024/06/05 07:31
提到冒泡排序,不知道大家还记得下面链接中的排序视频:冒泡排序,这个简单有趣的小视频有没有勾起内心深处的一点点回忆??下面小编就带着大家一起再来回顾和巩固这个经典的排序!
提起冒泡排序,也许会有人说这个太简单,由于它只适合数据规模很小的情况,而且效率也比较低,所以没有必要提起,但是它作为我们的Java排序入门的经典,需要我们去重视它,巩固它;
这种排序算法,和它的名字一样的原理,每次的循环都要把大/小的元素“冒”出去,所以我们可以把这个原理总结成下面的这句话:
升序:每一轮都会产生一个较大的数;第一轮循环执行完之后会产生一个最大的数并将最大的排到最后一个位置上;
降序:每一轮都会产生一个较大的数,第一轮会将最小的放到最后一个位置上;
了解了原理之后,我们一起来看代码的实现(比较的数为:4,7,8,9,3,2):
<span style="font-size:18px;">/** * 一共两层循环,内部循环控制的是比较的下标 * @author root * */public class BubbleSortTest {public static void bubbleSort(int[] array){for (int i = 0; i < array.length-1; i++) {for (int j = 0; j < array.length-i-1; j++) {if (array[j] > array[j+1]) {//如果前者大于后者二者交换位置int temp = array[j];array[j]=array[j+1];array[j+1] =temp;}}System.out.println("第" + (i+1)+"趟排序");for (int o = 0; o < array.length; o++) {System.out.print(array[o] +" ");}System.out.println();}}public static void main(String[] args) {int [] array = {4,7,8,9,3,2};bubbleSort(array);}}</span>根据代码中的逻辑,我们可以将循环的执行情况总结为以下:
i = 0
j = 0
j = 1
j = 2
j = 3
j = 4
i = 1
j = 0
j =1
j = 2
j = 3
i = 2
j = 0
j =1
j = 2
i = 3
j = 0
j =1
i = 4
j = 0
执行结果为:
上面就是小编关于冒泡排序的所有总结,不知道有没有帮大家回顾到冒泡排序这个经典中的经典呢?如果有更好的见解和建议,请大家留言哦!
1 0
- Java排序再巩固--BubbleSort
- Java BubbleSort(冒泡排序)
- Java冒泡排序BubbleSort
- bubblesort 冒泡排序 java
- Java排序再巩固--SelectionSort
- Java--冒泡排序(BubbleSort)
- Java 冒泡排序(BubbleSort)
- 冒泡排序(Bubblesort)之Java实现
- 冒泡排序(Bubblesort)之Java实现
- 冒泡排序(Bubblesort)之Java实现
- java冒泡排序(冒泡)算法Bubblesort
- Java-BubbleSort
- (BubbleSort)冒泡排序与(BinarySearch)二分法查找算法(java)
- 数据算法之冒泡排序(bubbleSort)的Java实现
- 冒泡排序及C++/java代码实现(BubbleSort)
- 冒泡排序[BubbleSort]
- 冒泡排序 BubbleSort
- BubbleSort(冒泡排序)
- 第十二周项目2数组类的运算符重载
- 给个人博客的文件添加类型标签
- 如何让安卓WebView支持js调用window.open()和window.close()的方法。
- android 图片加载笔记
- 蓝桥杯 四方定理
- Java排序再巩固--BubbleSort
- linux下安装配置pc2
- 设置文本框只能输入数字
- Windows 7 Ultimate和Linux Ubantu 16.04双系统安装笔记
- Android各种Menu带你飞
- Spark中组件Mllib的学习17之colStats:以列为基础计算统计量的基本数据
- [Android]自定义万能Dialog
- Volley框架
- 大型网站的灵魂