演算法 -- Java實現氣泡排序(圖解 + 程式碼實現)
阿新 • • 發佈:2019-01-30
排序思想:
相鄰元素兩兩比較,大的往後放,第一次完畢,最大值出現在了最大索引處(每比較完一趟,就選出一個最大值放到了後面),同理繼續可以得到一個排好序的陣列
排序圖解:
排序規則:
兩兩相比,大的往後放
每一次比較晚後,下一次比較時就會減少一個元素比較
第一次比較,有0個元素不參與比較
第二次比較,有2個元素不參與比較
第三次比較,有2個元素不參與比較
…
總共需要比較陣列長度 - 1 次
程式碼實現:
public static void selectSort (int array[]) {
for (int i = 0;i < array.length - 1; i ++) {
for (int j = i + 1;j < array.length;j ++) {
if (array[j] < array[i]) {
int temp = array[i];
array[i] = array[j];
array[j] = temp;
}
}
}
}