排序演算法----氣泡排序
阿新 • • 發佈:2018-12-07
氣泡排序是一種簡單的排序演算法,演算法的原理如下:
1. 比較相鄰元素,如果第一個比第二個大,就交換他們兩者之間的順序
2. 對每一對相鄰元素作相同工作,從開始第一對到結尾最後一對,第一次完畢後,最後的元素就是最大值。
3. 針對所有元素重複上述操作,除了最後一個
4. 持續每次對越來越少的元素重複上面操作,直到沒有任何一對數字需要比較。
例如有一個數列[4,2,6,5,3,9],氣泡排序步驟如下:
用python3程式碼實現
li = [10, 30, 76, 5, 18, 0, 24, 8, 16, 66, 92, 84, 53, 19, 50] def bubbling_sorted(li): for i in range(len(li) - 1): # 外層迴圈決定需要排序的輪次 count = 0 # 設定標誌位 for j in range(0, len(li) - i - 1): # 內層迴圈決定需要比較的次數 if li[j] < li[j + 1]: li[j], li[j + 1] = li[j + 1], li[j] count += 1 # 如果count != 0,說明需要交換兩者 if count == 0: return li return li