冒泡排序.o0O

//冒泡排序
public class Bubble{
    public static void main(String[] args){
        //先静态初始化一个数组
        double[] doubles = {111,53.8,666,233,1.23};
        //再定义一个中介数
        double temp; 
        //开始排序        
        for (int i =0; i < doubles.length; i++){
            for (int j =0; j < doubles.length - 1; j++){
                if (doubles[j] > doubles[j + 1]){//若第j位数据大于第j+1位时,进行互换
                temp = doubles[j];//暂存第j位数据
                doubles[j] = doubles[j + 1];//将较小值向前推
                doubles[j + 1 ] = temp;//将第j位原有数值放入j+1位
                }
            }
        }
        System.out.println("重新排序后的数组如下:");
        for (int i =0; i < doubles.length; i++){//遍历排序后数组
            System.out.print(doubles[i] + "\t");
        }
    }
}

以上即为冒泡排序完整代码

以下,是本人对该代码思路的解释:

为什么引入temp?

       冒泡排序中,temp变量至关重要,temp起到了缓存的作用,有了缓存才能完成数组中两个数据的互换

在第十行中   for (int j =0; j < doubles.length - 1; j++){   的length-1是本代码细节之一

      因为只多需要判断倒数第二位与最后一位孰大孰小即可完成最终的排序,而且若是不-1,当j来到4时,if语句中的doubles[j + 1]超出了doubles的范围限制,程序报错

 

      

    

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值