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

为什么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);     

}

 


正在回答

2 回答

刚刚学C,

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


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

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

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

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

举报

0/150
提交
取消
C语言入门
  • 参与学习       926312    人
  • 解答问题       20799    个

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

进入课程

为什么n-2

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