为了账号安全,请及时绑定邮箱和手机立即绑定

第二个for循环i为什么等于8

第二个for循环i为什么等于8

正在回答

3 回答

 因为原题中是对十个身高进行排序,所以是总共有10个数,然后以下面这组数为例:

数组:    0    1  2  3  4  5  6  7  8  9

第一次:|√|-|-|-|-|-|-|-|-|

这是第一次比较结束,就是还剩八组没比较,所以i=8(因为for语句是先执行i=8,i>=0,再执行for大括号里面的语句,然后再执行i--)

因为条件是i>=0,(就是最后一次比较结束,i=0代表此时还剩余0组没比较的意思),所以其实依旧是循环9次

个人分析应该是这样的,,,


0 回复 有任何疑惑可以回复我~

至多进行八次循环可以排完,你可以举个例子:9,8,7,6,5,4,3,2,1 一个九个数,最多进行八次这样的交换循环

0 回复 有任何疑惑可以回复我~
#1

weixin_慕前端9399305

但是题里面不是有10个数吗?要进行9次循环比较,这块我不理解为啥是8
2022-02-26 回复 有任何疑惑可以回复我~

从数组尾部遍历,由于数组arr[ ]长度为9,最大下标是8,所以第二个循环是从i=8开始的



4 回复 有任何疑惑可以回复我~
#1

慕雪2185926 提问者

好的好的,谢谢
2021-11-29 回复 有任何疑惑可以回复我~
#2

噜噜呼塔

瞎说,数组长度arr[ ]长度为10,i=8开始是因为第一个要比较9(8+1)次,因为arr[8]要和arr[8+1]比较
2022-01-02 回复 有任何疑惑可以回复我~
#3

克里斯老刘

数组长度arr[ ]长度为10,i=8是为了下面的arr[j]>arr[j+1],如果i=9的话arr[j+1]将等于10,就超出了界限,所以只能<=8
2022-02-26 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

第二个for循环i为什么等于8

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信