演算法
- 比較相鄰的元素。如果第一個比第二個大,就交換他們兩個。
- 對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最後一對。這步做完後,最後的元素會是最大的數。
- 針對所有的元素重複以上的步驟,除了最後一個。
- 持續每次對越來越少的元素重複上面的步驟,直到沒有任何一對數字需要比較。
請使用 Python Tutor練習及研究程式數值變化
也可以使用https://replit.com/languages/python3 練習
氣泡排序法
氣泡排序法
def bubble_sorted(iterable):
new_list = list(iterable)
list_len = len(new_list)
for i in range(list_len):
for j in range(list_len - i - 1):
if new_list[j] > new_list[j + 1]:
new_list[j], new_list[j + 1] = new_list[j + 1], new_list[j]
return new_list
testlist = [27, 33, 28, 4, 2, 26, 13, 35, 8, 14]
print('sorted:', bubble_sorted(testlist))