1. 程式人生 > >演算法 -- Java實現氣泡排序(圖解 + 程式碼實現)

演算法 -- Java實現氣泡排序(圖解 + 程式碼實現)

排序思想:

相鄰元素兩兩比較,大的往後放,第一次完畢,最大值出現在了最大索引處(每比較完一趟,就選出一個最大值放到了後面),同理繼續可以得到一個排好序的陣列

排序圖解:

這裡寫圖片描述
這裡寫圖片描述

排序規則:

兩兩相比,大的往後放

每一次比較晚後,下一次比較時就會減少一個元素比較

第一次比較,有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; } } } }