1、冒泡排序法。
冒泡排序法就是對一組數字進行相鄰的兩兩比較,一輪排序後,會將最大的數放到最後(爲了方便說明這裏按照從小到大的規則)。
比如:
一組數字:19 13 15 10 12 17 14,我們對他們進行從小到大的排序。這組數字共有7個,所以最多需要7-1次就可以排序完成,設爲i。
當i=0時:
19 13 15 10 12 17 14 (原數組)
13 19 15 10 12 17 14 (19 13)
13 15 19 10 12 17 14 (19 15)
13 15 10 19 12 17 14 (19 10)
13 15 10 12 19 17 14 (19 17)
13 15 10 12 17 19 14 (19 14)
13 15 10 12 17 14 19 (找出了最大的數)變換6次 score.length-i-1
當i=1時:
13 15 10 12 17 14 19 (13<15 不換)
13 10 15 12 17 14 19 (15 10)
13 10 12 15 17 14 19 (15 12)
13 10 12 15 17 14 19 (15 17)
13 10 12 15 14 17 19 (17 14)找出了次大的數,因爲最後一個已經在第1輪排的時候就把最大的數拍到了最後,所以就不需要再比較了。
當i=2、3、4……時類似。
代碼僅供參考:
public class Test05{
public static void main(String[] args){
int score[] = {19,13,15,10,12,17,14};
for(int i = 0;i<score.length-1;i++){
for(int j=0;j<score.length-i-1;j++){
if(score[j]>score[j+1]){
int temp = score[j];
score[j] = score[j+1];
score[j+1] = temp;
}
}
}
for(int i=0;i<score.length;i++){
System.out.print(+score[i]+"\t");
}
}
}
結果: