1.什么是冒泡排序?
它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序错误就把他们交换过来。走访元素的工作是重复地进行,直到没有相邻元素需要交换,也就是说该元素列已经排序完成。
2.使用场景
最主要运用于一些纯数字数组的从大到小排序问题,或者从小到大的排序。
3.实际运用
1.问题要求:
有6个数,我们对他们进行从小到大排序
2.问题思路:
使用冒泡排序,如果有n个数,则要进行n-1趟比较。在第1趟比较中要进行n-1次两两比较,在第i趟比较中要进行n-i次两两比较。
3.代码实现
public class Demo1{
public static void main(String[] args) {
// 自定义包含6位数的数组
int[] num=new int[]{11,5,8,21,3,4};
// 因为6位数的数组需要进行6-1=5次冒泡,所以外层循环次数为num.length-1次
for (int i = 0; i < num.length-1; i++) {
//每个数都要与自身之外的其他数进行比较,所以内层循环次数也是num.length-1次
for (int j = 0; j < num.length-1; j++) {
//比较相邻的元素。如果第一个比第二个大,就交换他们两个
if (num[j]>num[j+1]){
int a=num[j];
num[j]=num[j+1];
num[j+1]=a;
}
}
}
//上面的代码已经排序好了,下面遍历输出一下
System.out.println("排完之后的顺序是:");
for (int i = 0; i < num.length; i++) {
System.out.print(num[i]+",");
}
}
}