java 编写演示冒泡排序算法,简单易懂,javac亲测有效

public class Maopao{


   //做一个冒泡排序算法

   //冒泡排序算法的关键点:1、数组进行N-1轮遍历  2、每一轮遍历下递归N-i次比较,i为第几轮遍历


   public static void main(String[] args){

       int[] aa = {7,6,9,3,4,6,5,1,8,2,3,4,1,0,10};
       //调用冒泡算法
       maoPaoSort(aa);

    } 

    public static void maoPaoSort(int[] aa){
        
        //先看冒泡前数组值长的啥样
        System.out.println("下面是原来的样子:");
        
        for(int a=0;a<aa.length;a++){
              
            System.out.println(aa[a]);
            }
        
        //定义一个本全局变量 一起看冒泡算法一共算了多少次
        int total = 0;

       //冒泡算法步骤1,总循环N-1轮
       for(int i=1;i<aa.length;i++){
           
            //冒泡算法步骤2,每一轮会从最下向上接力比较N-i次
            for(int j=0;j<aa.length-i;j++){
                 //定义中间变量
                 int temp;
                 //如果数组下边值比上边大,就做置换
                 if(aa[j]>aa[j+1]){
                         //先把靠上边座位小的值放在中间变量
                         temp = aa[j+1];
                         //再将下边的值赋值给上边座位
                         aa[j+1] = aa[j];
                         //再将原上边较小值(中间变量)赋值给下边座位
                         aa[j] = temp;
               //累计比较次数加1
               total++;
                }else{
                      //虽然不做置换,但是也做了一次计算
                      total++;
                    }          
                }
           
       }
       System.out.println("\n"+"\n");
       
       //一共算了多少次
       System.out.println("数组一共有"+aa.length+"个数据,一共计算了:"+total+"次。");
       
       System.out.println("\n"+"\n");
       
       System.out.println("冒泡后长成这个样子:");
       
       for(int b=0;b<aa.length;b++){
              
            System.out.println(aa[b]);
            }      
    }
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值