java冒泡排序

增强型for 


int[] a={2,92,56,1,16,85};
for(int i:a){
    System.out.println(i); //2 92 56 1 16 85
}

冒泡排序原理:

2,92,56,1,16,85

两两比较,拿前面一个比较后面一个,看谁的数大,谁就排到后面,如果前面一个比后面一个小不用排,继续下一个的比较并且排序,

第一趟讲解:2-56比较,2小不用排;92-56比较,92和56位置互换;92-1比较,92和1位置互换;92-16比较,92和16位置互换;92-85比较,92和85位置互换。

后面以此来类推。

趟数排序后
第一趟2561168592
第二趟2116568592
第三趟1216568592

 程序编写:

       int[] a={2,92,56,1,16,85};
       int temp;
       for(int i=0;i<a.length-1;i++) {
           //内层循环控制每一趟排序
           for (int j = 0; j < a.length - i - 1; j++) {
               //如果a[j]>a[i+1] 就互换他们的位置,第一趟:j=0时,temp=2,a[j]=92, a[j+1]=2
               if (a[j] > a[j+1]) {
                   temp = a[j];
                   a[j] = a[j + 1];
                   a[j + 1] = temp;
               }
           }
       }
       //把互换的打印出来
       for(int n:a){
           System.out.println(n);  //1 2 16 56 85 92
       }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值