冒泡排序

//冒泡排序针对下标,每次大循环(外层循环大循环,内层循环小循环)确定一个要与其他数比较的数,然后用这个数通过小循环与这个数之后的数比较,确定最大数(本例为降序)。

比如:1,2,3,4,5  先拿1(第一个下标)与2,3,4,5比较;通过小循环,进入if判断;确定出5最大;换位,放到第一位;

(数次小循环)

1,2,3,4,5

2,1,3,4,5

3,1,2,4,5

4,1,2,3,5

5,1,2,3,4

此时位置为5,1,2,3,4;

再通过大循环拿到1(第二个下标),与2,3,4比较,确定4最大;换位,放到第二位;

5,1,2,3,4

5,2,1,3,4

5,3,1,2,4

5,4,1,2,3

此时位置为5,4,1,2,3;

以此类推,再拿1(第三个下标)与2,3,比较,确定最大数

public class Demo1 {
    public static void main(String[] args) {
    
        int [] m={138,245,34,4,85,36};


        for(int index1=0;index1<m.length;index1++){
            for(int index2=index1+1;index2<m.length;index2++){
                if(m[index1]<m[index2]){
               //此处拿index1=1;index2=2举例
                    //先将2-->中间量tmp;此时tmp=2;
                    int tmp=m[index2];
                    //将1-->2;此时index2=1;
                    m[index2]=m[index1];
                    //将tmp-->1;此时index1=2;
                    m[index1]=tmp;
                //此时index1=2;index2=1;完成排序
                }
            }
        }
        for(int a:m){
            System.out.println(a);
        }
        
    }
}
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值