开发者社区> 问答> 正文

这是冒泡排序法if语句里是什么意思

这是冒泡排序法if语句里是什么意思

展开
收起
知与谁同 2018-07-19 19:13:05 2353 0
2 条回答
写回答
取消 提交回答
  • TA有点害羞,没有介绍自己...
    当前一个数大于后一个数的时候,两个数字交换顺序。
    2019-07-17 22:50:22
    赞同 展开评论 打赏
  • 阿里云开发者社区运营负责人。原云栖社区负责人。
    if(i[y-1]>i[y]){
        temp=i[y-1];
        i[y-1]=i[y];
        i[y]=temp;
    }

    这里的if语句的意思是如果数组i中的数字i[y-1]大于i[y],那么这两个数字进行交换,花括号中的三条语句就是交换两个数字的操作。

    至于为什么要这么交换两个数字,给你举个例子好了——比如说你有一瓶酱油和一瓶醋,如果你想把这两样东西的瓶子换一下,那么你必然需要借助一个空瓶子(也就是代码里的temp),然后先把酱油(或者醋)倒到空瓶子中去,再把醋倒到空了的酱油瓶中去,最后把空瓶子里的酱油倒到醋瓶子去,经过这三步你才完成了交换。那么这段代码就可以理解为: if(i[y-1]>i[y]){
        temp=i[y-1];  //将i[y-1](酱油)放到空瓶子temp中
        i[y-1]=i[y];  //将i[y](醋)放到i[y]中
        i[y]=temp;    //将空瓶子里的i[y-1]放到i[y]中
    }

    2019-07-17 22:50:22
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载