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

为什么for循环中的 i 从8开始a

for (i=8;i<10;i--)

{

for (j=0;j<=i;j++)

{

if (arr[j]>arr[j+1])

{

double temp;

temp=arr[j];

arr[j]=arr[j+1];

arr[j+1]=temp;

}

}

}

为什么上述的i=8,i是从8开始呢?求指教。谢谢哈。

正在回答

7 回答

看你这代码是冒泡排序的,你可以试着自己手动比较两趟,假设有一个包含十个元素的数组,你第一趟冒泡排序想要的目的是将最大或者最小的元素放在数组最后,那就要从第一个元素开始比较,一共比较9次,所以 i 从 8 开始,内层循环一共循环 9 次,数组元素从第一个元素开始与后一个元素进行比较,直至比较到最后一个元素为止

希望对你有所帮助: )

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

LZHR 提问者

非常感谢!
2015-11-01 回复 有任何疑惑可以回复我~

你回到6.1 记住数字的下标是从0开始的

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

http://img1.sycdn.imooc.com//55e9ac790001347302220224.jpg这不成9了!


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

再说一句,你可以看看我的那个问题,例题冒泡排序具体过程,应该就能明白为什么是8,当然主要是因为有10个数字

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

10个数字冒泡排序,某个数字只需和其他九个数字比较即可,不用跟本身比较,所以是8,   0-8就是9个

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

看你程序所要解决的问题,每个程序不一定是要从8开始循环的

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

是从8开始的啊,你难道认为是7吗?

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

举报

0/150
提交
取消

为什么for循环中的 i 从8开始a

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