public class BubbleDemo {
public static void main(String[] args) {
// TODO Auto-generated method stub
/*
2.第一轮比较完毕之后,最大值就已经确定,第二轮可以减少循环一次,后面以此类推
3.如果数组中有n个数据,总共我们要执行n-1轮带码
*/
//1.定义数组
int[] arr= {2,4,5,3,1};
//2.利用冒泡排序将数字中的数字变成 1 2 3 4 5
//外循环:表示我要执行多少论,如果有n个数据,那么执行n-1轮
for(int i=0;i<arr.length-1;i++){
//内循环:每一轮中我如何比较数据并找到当前的最大值
//-1:为了防止索引越界
//-i:提高效率,每一轮执行的次数应该比少一轮少一次
for(int j=0;j<arr.length-i-1;j++) {
//i 依次表示数组中的索引:0 1 2 3 4
if(arr[j]>arr[j+1]) {
int temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
for(int i1=0;i<arr.length;i++) {
System.out.print(arr[i]+" ");
}
}
}
}
12-02
1008
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)