概念
什么是冒泡排序,冒泡排序就是比较相邻之间的两个元素,如果前者比后者大,那么就交换这两个元素的位置,一直比较到最后一个元素。然后再重复这样的操作,一直到没有任何一个元素的位置发生改变,说明冒泡排序已完成。
元素比较详情请看下图:
冒泡排序元素比较图
其比较动态图效果如下:
冒泡排序比较动态效果图
上面我们已经了解了冒泡排序的原理,下面我们用Java代码来实现冒泡排序的过程,本文来源于公众号:【Java学习提升】 专注于Java领域技术分享,Java知识体系学习、分享面试经验,让我们结伴而行,共同成长!
public class Maopao {
public static void main(String[] args) {
//定义一个数组,元素分别为5, 3, 9, 1, 2
int[] intArr = new int[]{5, 3, 9, 1, 2};
//外层循环-冒泡排序从头开始排序的趟数
for (int i = 0; i < intArr.length - 1; i++) {
//每一趟需要排序多少次
for (int j = 0; j < intArr.length - 1 - i; j++) {
if (intArr[j] > intArr[j + 1]) {
int temp = intArr[j];
intArr[j] = intArr[j + 1];
intArr[j + 1] = temp;
}
}
}
System.out.println("排序后的数组为:");
for (int num : intArr) {
System.out.print(num + " ");
}
}
}
上述代码运行的原理为:
---初始顺序---
5, 3, 9, 1, 2
---第一趟完成后的顺序---
3, 5, 1, 2, 9
---第二趟完成后的顺序---
3, 1, 2, 5, 9
---第三趟完成后的顺序---
1, 2, 3, 5, 9
---第四趟完成后的顺序---
1, 2, 3, 5, 9
---排序完成---
运行结果如下
冒泡排序运行结果
注:文章部分图片来自于互联网,如有争议请联系我删除,谢谢。
原创声明:本文为【Java学习提升】原创博文,转载请注明出处。
本文来源于公众号:【Java学习提升】 专注于Java领域技术分享,Java知识体系学习、分享面试经验,让我们结伴而行,共同成长