java里的冒泡排序

public class Test {
    public static void main(String[] args) {
        int num[] = {11,10,13,12,9};
//这个是用来保存最大数字的
        int t = 0;
//标记
        int flag = 0;
//第一个for循环 从0开始
        for (int i = 0; i < num.length-1; i++) {
            //遍历j=0开始循环
            for (int j=0;j<num.length-1;j++){
            //判断num[j=0]是否大于num[j=1]也就是11是否大于10
                if (num[j]>num[j+1]){
            //是的话将num[j]赋值给t,也就是t=11
                    t = num[j];
            //将num[j+1]的值赋给num[j],则num[j]=10    
                    num[j]=num[j+1];
            //将t=11赋值给num[j+1],则num[j+1]=11
                    num[j+1]=t;
/*
标记循环过了,然后再回到j上面然后从j=1再次遍历一直遍历到j=num.length-1然后循环结束,至此i=0的循环结束,然后i=1,然后j=0继续遍历,注意:刚刚遍历的是i=0,并没有遍历i=1的时候,j的遍历。也可以理解为当i=0的时候遍历了j,现在又该遍历当i=1的时候,j还一次没遍历。继续遍历,之后就是同理了。
 */                       
                    flag = 1;
                }
            }
            if (flag ==0) {
                break;
            }
        }
//输出排好序的数组
        System.out.println(Arrays.toString(num));
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值