課程
/后端開發
/C
/C語言入門
為什么不是N-1?
2015-08-26
源自:C語言入門 6-12
正在回答
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,也就是不再與此時數組中最后一個元素(最小值)進行比較。
potacharles 提問者
舉報
C語言入門視頻教程,帶你進入編程世界的必修課-C語言
3 回答降序排序的第一個循環的i=N-2是什么意思
3 回答關于降序排列的求助!
1 回答關于降序排列的!求助
2 回答輸出成績降序排列時有亂碼。
4 回答冒泡排序中for(i= N-2)什么意思
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2015-08-26
N=10, N-2=8
i從8開始計算,因為下標從0開始,所以8對應的是倒數第二個元素。
當i=N-2=8時,j能取的最后一個值為8,進行的比較是數組中最后兩個元素的比較。因為這樣的比較是從數組一開始就進行的,所以數組中最小的元素此時已經通過排序位于數組最后的位置,所以下一次進行比較時,i的值減小1,也就是不再與此時數組中最后一個元素(最小值)進行比較。