9 回答

TA貢獻2條經(jīng)驗 獲得超2個贊
你搞混了,i是程序中計數(shù)用的,j也不是數(shù)組中的數(shù)字,j是標識數(shù)組的下標,你程序中一直使用的是arr[j] 來表示數(shù)組元素的
j<=i, 是為了減少比較的次數(shù),因為按照你的程序排序方式,你每一趟比較( i的增加)都已經(jīng)把數(shù)組中最大的數(shù)挪到了數(shù)組的最后一排,在下一次比較中就沒有必要再比較最后的幾位了,
比如你第一次排序i=8的時候經(jīng)過j從0變成8的過程得到了 {94,95,93,92,91,90,88,97,89,99}這個數(shù)組,
你第二次排序i=7的時候,只需要對新數(shù)組中的前9位比較8次得到第二大的數(shù)就可以了,同理,每趟排序都得到了一個新的末尾有序的數(shù)組,最終得到最后的數(shù)組!
希望能幫到你。

TA貢獻290條經(jīng)驗 獲得超0個贊

TA貢獻1條經(jīng)驗 獲得超0個贊
j表示每次循環(huán)比較的數(shù)組下標,i用來控制比較數(shù)組的次數(shù),比如第一次循環(huán)i=8,要比較9次,選取最大的數(shù),然后i--;i=7;比較數(shù)組前面9個數(shù),進行8次比較,選出最大數(shù),以此類推,進行排序。

TA貢獻2條經(jīng)驗 獲得超0個贊
因為兩個for循環(huán)之間是有聯(lián)系的,第二個for循環(huán)的j可以限定其他條件,具體視你要達到什么效果來決定!

TA貢獻8條經(jīng)驗 獲得超3個贊
哥們 你還是把完整的題目拿出來吧 ,看不懂啊 你的標題的不明白第二個for循環(huán)中為什么控制j<=i?你問的是什么 ?問這個公式嗎?第二個循環(huán) 循環(huán)什么 都不清楚 沒頭沒尾的 怎么幫你
- 9 回答
- 1 關(guān)注
- 3510 瀏覽
添加回答
舉報