java冒泡算法排序

java冒泡算法排序的代码实现如下:

复制代码
import java.util.Arrays;

public class BubbleSort {
    public static void main(String[] args){
        int[] arr = new int[]{2,3,7,1};
        for(int i=0;i<arr.length-1;i++){
            for(int j=0;j<arr.length-1-i;j++){
                if(arr[j]>arr[j+1]){
                    int temp = arr[j+1];
                    arr[j+1] = arr[j];
                    arr[j] = temp;
                }
            }
            System.out.println("第"+(i+1)+"次循环之后:"+Arrays.toString(arr));
        }
    }
}
复制代码

控制台的输出如下:

第1次循环之后:[2, 3, 1, 7]
第2次循环之后:[2, 1, 3, 7]
第3次循环之后:[1, 2, 3, 7]

代码使用了一个外循环陷套一个内循环的形式,数组的长度是4,外循环循环了3次,

第1次循环之后,把第1最大值放到数组的最后第1位,

第2次循环之后,把第2最大值放到数组的最后第2位,

第3次循环之后,把第3最大值放到数组的最后第3位,

自然而然,不用再循环,第4最后值就会放到最后第4位了,所以外循环只用循环3次就可以了。

内循环时,每次只比较相邻两个数值,把较大值置后,较小值置前,

第1次外循环时,内循环要把最大值放到最后,所以要比较4个数值,内循环3次就可以了,

第2次外循环时,不用比较最大值,因为它已经放到最后了,所以要比较3个数值,内循环2次就可以了,

第3次外循环时,只用比较两个数值,内循环1次即可。

posted on   会走路的虾米  阅读(46)  评论(0编辑  收藏  举报

编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix

导航

点击右上角即可分享
微信分享提示