假如有幾個數字int score = ; 按照從大到小排序。
有2種思路,第一種,score[j] 和 score[j+1] 比較 如果 前者比後者小,把前者和後者調換順序,兩兩調換後一輪下來 最小的會被排到最後去。每一輪j都從0開始,當i輪排序,就有最後面的i個數字因為他是最小的,所以後面的每輪都不用理他了,也就是 score.length-1-i 往後的數不用管了,如上,第一輪有4個數字 i為0 ,那麼score.length-1-i 為3,也就是下標是3以後的可以不用管,3往後沒有數字,所以第一輪所有的數字都要參加比較,第二輪i=1 score.length-1-i 為2 也就是說 下標2後面的 下標為3的數字不用比了,因為兩兩比較厚,67會到 score[3],實現**如下:
for(
int i =
0;i < score.length -
1;i++)
}
}
第二種思路,用88 和 75 比較,在和69 比較 在和 67 比較,發現88是最大的,吧他排到第一位(index=0的位置),然後i=1,也就是第二輪,就不用看下標為0的88了因為他是老大,然後接著比較。;
for(
int i =
0;i < score.length -
1;i++)
}
}
說明下j為啥=
(score.length - 2)
因為length=4,我最多能讓下標2和下標3的數字比較(j+1最大等於3),也就是4-2=2 j最大=2,2和2+1比較 然後1和2比較,然後 0和1 比較。 氣泡排序的2種寫法
假如有幾個數字 int score 按照從大到小排序。有2種思路 第一種思路 score j 和 score j 1 比較,如果前者比後者小,把前者和後者調換順序,兩兩調換後一輪下來,最小的會被排到最後去。每一輪j都從0開始,當i輪排序,就有最後面的i個數字因為他是最小的,所以後面的每輪都不用理他了...
氣泡排序的2種寫法
假如有幾個數字 int score 按照從大到小排序。有2種思路 第一種思路 score j 和 score j 1 比較,如果前者比後者小,把前者和後者調換順序,兩兩調換後一輪下來,最小的會被排到最後去。每一輪j都從0開始,當i輪排序,就有最後面的i個數字因為他是最小的,所以後面的每輪都不用理他了...
氣泡排序4種寫法 java
寫一點自己對冒牌排序的理解 int arr new int length 1,通過對比相鄰2個數,得到最大 最小數 1 從前往後比,每次篩選出最後一位for int i 0 i第一輪對比得到最後乙個位置的準確數。第二輪對比應該只比到倒數第二位,依次類推,另一種寫法 for int i arr.len...