请解释一下冒泡法中的这两句要怎么理解 for(j=0;j<9;j++) for(i=0;i<9-j;i++),越详细越好,谢谢
答案:3 悬赏:70 手机版
解决时间 2021-03-21 16:57
- 提问者网友:半生酒醒
- 2021-03-21 09:43
请解释一下冒泡法中的这两句要怎么理解 for(j=0;j<9;j++) for(i=0;i<9-j;i++),越详细越好,谢谢
最佳答案
- 五星知识达人网友:拜訪者
- 2021-03-21 11:13
你要把一列数从小到大排列,你会怎么做?得一个一个去看选出最大的然后把最大的放后面去,当你选出了一个最大的数,第二次再去选第二大的数的时候,你还有必要第一大的数来进行比较?答案肯定是不用,所以for(i=0;i<9-j;i++)中i<9-j,即已经选出的数不需要进入到下一轮的比较!
全部回答
- 1楼网友:青灯有味
- 2021-03-21 13:27
遍历列表搜索最小或最大的然后插到最前面从后一个继续检索小的值
- 2楼网友:底特律间谍
- 2021-03-21 12:50
对长度为10的数据表进行排序,总共要冒泡9次,所以外层循环是9,每一次冒泡(挨个比较)要进行比较的次数是 9-j次,因为没冒泡一次确定一个排序位,比如j=0,第一次起泡,一直要比较九次才能将最大的放在最后一个位置 a[9],然后j=1的时候是要确定a[8]是哪个值 所以只需要进行 9-1=8次的比较。追问那为什么要有i和j两个进行计数呢?我是小白,求解释追答当然要两个啦,j是记冒泡的趟数,i是记每一趟要比较的次数,每一趟会确定一个最大数,所以随着趟数增加需要比较的次数会越来越少,i<9-j
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯