Section outline

  • 選擇排序演算法(Selection Sort)

    是一種簡單容易理解的演算法,其概念是反覆從未排序的數列中取出最小的元素,加入到另一個的數列,結果即為已排序的數列。運算流程如下:

    1. 從未排序的數列中找到最小的元素。
    2. 將此元素與未排序部分的第一個元素進行交換。
    3. 重複以上動作直到未排序數列全部處理完成。

    範例:

    8 2 5 3 4 6 7

    2 8 5 3 4 6 7

    1 2 8 5 4 6 7

    1 2 3 5 8 6 7

    1 2 3 4 8 5 6 7

    1 2 3 4 5 8 6 7

    1 2 3 4 5 6 7

    1 2 3 4 5 6 7 8

    氣泡排序演算法(Bubble Sort)

    將最大的數值移動到陣列最後面,而較小的數值則逐漸的往陣列前端移動,就像有許多氣泡慢慢從底部浮出,因此成為氣泡排序法。運算流程如下:

    1. 比較相鄰的兩個元素,若前面的元素較大就進行交換。
    2. 重複進行1的動作直到最後面,最後一個元素將會是最大值。
    3. 重複進行1,2的動作,每次比較到上一輪的最後一個元素。
    4. 重複進行以上動作直到沒有元素需要比較。

    範例:

    8 2 1 5 3 4 6 7

    2 8 1 5 3 4 6 7

    2 1 8 5 3 4 6 7

    2 1 5 8 3 4 6 7

    2 1 5 3 8 4 6 7

    2 1 5 3 4 8 6 7

    2 1 5 3 4 6 8 7

    2 1 5 3 4 6 7 8

    1 2 5 3 4 6 7 8

    1 2 5 3 4 6 7 8

    1 2 3 5 4 6 7 8

    1 2 3 4 5 6 7 8

    • 氣泡排序法

    • 插入排序法

    • 選擇排序法