冒泡排序法

右下角是代码运行的效果:

我把我写的冒泡排序的代码也贴上来,方便大家理解!

(后面有相应的注释哦!)

复制代码
package com.arrays;

import java.util.Arrays;

public class Test1 {
    public static void main(String[] args) {
        int[] arr={2,4,5,1,3,6,8,7};
        //数组里面的排序方法
//        Arrays.sort(arr);
//        System.out.println(Arrays.toString(arr));
        //冒泡排序法
        boolean flag=true;//定义一个布尔类型的变量,标记数组是否已达到有序状态
        for(int i=0;i<arr.length-1;i++){    //外层循环:n个元素排序,则至多需要n-1趟循环
            for (int j=0;j<arr.length-1-i;j++){//内层循环:每一趟循环都从数列的前两个元素开始进行比较,比较到无序 数组的最后
                if(arr[j]>arr[j+1]){    //如果前一个元素大于后一个元素,则交换两元素的值;
                    int temp=arr[j];
                    arr[j]=arr[j+1];
                    arr[j+1]=temp;
                    //本趟发生了交换,表明该数组在本趟处于无序状态,需要继续比较;
                    flag=false;
                }
            }
            //根据标记量的值判断数组是否有序,如果有序,则退出;无序,则继续循环。
            if (flag){
                break;
            }
            System.out.println(Arrays.toString(arr));
        }
    }
}
复制代码

 

posted @   SunSpring  阅读(234)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示