課程
/后端開發
/C
/C語言入門
例子里排成績那個?
for (i=8;i<=0;i--)
?{ ?for(j=0;j<=i;j++) 這兩句怎么理解啊...繞的不行
2016-08-04
源自:C語言入門 6-5
正在回答
你可以模擬運行一次兩個for循環:
for(i=8;i>=0;i--)? //控制每趟比較的最大下標
第一次執行外循環,i=8,執行內循環:for(j=0, j<=i, j++)的循環條件是 j<=i 也就是 j<8,
當內嵌循環執行到 j=8;比較完 arr[8]和arr[8+1]之后,數組中最大那個數就放進最后一個arr[[9]中了,那么這個數在下一輪循環中就不用再比較了。
然后外循環執行 i--,也就是 i=8-1=7,內循環條件 j<=7,比較的最大下標就是7 即 arr[7] 和arr[7+1]比較,就不用再去和最大的arr[9]比較了
所以外循環的注釋://控制每趟比較的最大下標???
lzry 提問者
源遠流長d
通過父循環確定子循環的循環大小,讓子循環執行數組中arr[j]和arr[j+1]兩元素的大小,
double arr[]={1.78, 1.77, 1.82, 1.79, 1.85, 1.75, 1.86, 1.77, 1.81, 1.80};
例如:先arr[0]與arr[1],arr[0]大放到后面,則{1.77,1.78, 1.82, 1.79, 1.85, 1.75, 1.86, 1.77, 1.81, 1.80};以此基礎上又來判斷arr[1]與arr[2],arr[2]大,則數組中元素不變為{1.77,1.78, 1.82, 1.79, 1.85, 1.75, 1.86, 1.77, 1.81, 1.80}......,直至j=i時,一定確定了最大值,就可以執行下一個父循環,每一個父循環可確定一個在范圍內的最大值,所以父循環循環完畢時,排序完成,其實有些數已經排好,父循環幫你檢查檢查。。
已經懵逼
nice!
舉報
C語言入門視頻教程,帶你進入編程世界的必修課-C語言
2 回答如何理解冒泡排序中的for循環嵌套語句
3 回答冒泡排序里輸出排序
2 回答怎樣用冒泡排序法,排序
1 回答冒泡排序排序
3 回答求冒泡排序解釋
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2016-08-04
你可以模擬運行一次兩個for循環:
for(i=8;i>=0;i--)? //控制每趟比較的最大下標
第一次執行外循環,i=8,執行內循環:for(j=0, j<=i, j++)的循環條件是 j<=i 也就是 j<8,
當內嵌循環執行到 j=8;比較完 arr[8]和arr[8+1]之后,數組中最大那個數就放進最后一個arr[[9]中了,那么這個數在下一輪循環中就不用再比較了。
然后外循環執行 i--,也就是 i=8-1=7,內循環條件 j<=7,比較的最大下標就是7 即 arr[7] 和arr[7+1]比較,就不用再去和最大的arr[9]比較了
所以外循環的注釋://控制每趟比較的最大下標???
2016-10-24
通過父循環確定子循環的循環大小,讓子循環執行數組中arr[j]和arr[j+1]兩元素的大小,
double arr[]={1.78, 1.77, 1.82, 1.79, 1.85, 1.75, 1.86, 1.77, 1.81, 1.80};
例如:先arr[0]與arr[1],arr[0]大放到后面,則{1.77,1.78, 1.82, 1.79, 1.85, 1.75, 1.86, 1.77, 1.81, 1.80};以此基礎上又來判斷arr[1]與arr[2],arr[2]大,則數組中元素不變為{1.77,1.78, 1.82, 1.79, 1.85, 1.75, 1.86, 1.77, 1.81, 1.80}......,直至j=i時,一定確定了最大值,就可以執行下一個父循環,每一個父循環可確定一個在范圍內的最大值,所以父循環循環完畢時,排序完成,其實有些數已經排好,父循環幫你檢查檢查。。
2016-10-10
已經懵逼
2016-08-31
nice!