冒泡演算法

zenopan發表於2024-04-25

def bubble_sort(data):
for i in range(len(data)-1):
print(f'這是第{i+1}趟')
for j in range(len(data) - 1 - i):
if data[j] > data[j + 1]:
data[j], data[j + 1] = data[j + 1], data[j]
print('排序結果為:>>>', data)

start_list = [14,13,12,11,10,9,8,7,6,5,4,3,2,1]
bubble_sort(start_list)
結果:
這是第1趟
排序結果為:>>> [13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 14]
這是第2趟
排序結果為:>>> [12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 13, 14]
這是第3趟
排序結果為:>>> [11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 12, 13, 14]
這是第4趟
排序結果為:>>> [10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 11, 12, 13, 14]
這是第5趟
排序結果為:>>> [9, 8, 7, 6, 5, 4, 3, 2, 1, 10, 11, 12, 13, 14]
這是第6趟
排序結果為:>>> [8, 7, 6, 5, 4, 3, 2, 1, 9, 10, 11, 12, 13, 14]
這是第7趟
排序結果為:>>> [7, 6, 5, 4, 3, 2, 1, 8, 9, 10, 11, 12, 13, 14]
這是第8趟
排序結果為:>>> [6, 5, 4, 3, 2, 1, 7, 8, 9, 10, 11, 12, 13, 14]
這是第9趟
排序結果為:>>> [5, 4, 3, 2, 1, 6, 7, 8, 9, 10, 11, 12, 13, 14]
這是第10趟
排序結果為:>>> [4, 3, 2, 1, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
這是第11趟
排序結果為:>>> [3, 2, 1, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
這是第12趟
排序結果為:>>> [2, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
這是第13趟
排序結果為:>>> [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]

相關文章