问答详情
源自:5-10 局部与全局

为什么n-2

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);     

}

 


提问者:慕桂英5734528 2017-08-11 11:17

个回答

  • 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个值;