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

降序排列的时候为什么是 N-2?

为什么不是N-1?

正在回答

1 回答

for(i=N-2;i>=0;i--)
    {
        for(j=0;j<=i;j++)
        {

N=10, N-2=8

i从8开始计算,因为下标从0开始,所以8对应的是倒数第二个元素。

if(score[j]<score[j+1])

当i=N-2=8时,j能取的最后一个值为8,进行的比较是数组中最后两个元素的比较。因为这样的比较是从数组一开始就进行的,所以数组中最小的元素此时已经通过排序位于数组最后的位置,所以下一次进行比较时,i的值减小1,也就是不再与此时数组中最后一个元素(最小值)进行比较。

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

potacharles 提问者

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

举报

0/150
提交
取消

降序排列的时候为什么是 N-2?

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