为什么n-2

来源:5-10 局部与全局

慕桂英5734528

2017-08-11 11:17

void sort(int score[])

{

int i,j;

for(i=N-2;i>=0;i--)

{

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

{

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

{

int temp;

temp = score[j];

score[j] = score[j+1]; 

score[j+1]=temp;                  

}                 

}                   

}

printScore(score);     

}

 


写回答 关注

2回答

  • fortunate_3
    2017-08-12 17:33:07

    刚刚学C,

    按照我的理解,那个N应该是数组长度,从N-2到0,一共有N-1个循环,而排序只要比较N-1次,就像两个比大小只要1次一样,所以是N-2.


  • qq_兰魔幽灵_0
    2017-08-12 17:18:35

    这是冒泡排序吧,在冒泡排序中,分为内循环和外循环,这里外循环(交换)是n-1次,而内循环(比较)是(n-1)+(n-2)+....+3+2+1;

    在上面中i=n-2,是已经保证了外循环为9次,因为i=n-2;i>=0;这里i为0~8 9个值;

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926895 学习 · 21509 问题

查看课程

相似问题