氣泡排序

氣泡排序:可以由小排到大,也可以由大排到小,相臨的兩個數比較,依大到小,或小到大規則決定是否交換,每一輪就可以將指定的數排到指定的位置,例如由小到大,第一輪就可以將最大的數排到最右邊,依此類推就可以將資料進行排序。

原始資料是:12、7 、2 、23、 6

  • 第一輪: 結果會將最大的23移動到最右邊

    • 第一次:12和7比,12較大,所以交換-->7、12、2、23、6

    • 第二次:12和2比,12較大,所以交換-->7、2、12、23、6

    • 第三次:12和23比,12較小,不用交換-->7、2、12、23、6

    • 第四次:23和6比,23較大 ,所以交換-->7、2、12、6、23

  • 依此類推,我們共要排五輪,所以外迴圈執行五次,使用len(data),資料有五筆,所以就是for i in range(5)--0 1 2 3 4

  • 五筆資料,第一輪比四次,第二輪比三次,第三輪比二次,第四輪比一次,所以內迴圈就是len(data)-i-1

  • 如果仔細觀查,在第四輪就已經排好了

執行五輪的程式碼及結果

執行四輪的程式碼及結果