"""
氣泡排序核心:
兩個兩個數進行比較,小的放前邊大的放後面(升序排序降序反之)
"""
# 定義一個函數,實現氣泡排序
def sort_the(list_):
# 由於需要兩個兩個的進行元素比較,每次比較都會把最大的一個值放到最後面,最後一輪比較可以省去,所以需要比較的次數為列表元素總數減一
for i in range(len(list_) - 1):
# 每次進行一輪比較後,會把最大的元素放到最後,所以每輪進比較的次數為 總輪數 - 當前輪次
for n in range((len(list_) - 1 - i)):
# 該排序是大的在後面, 如果需要大的在前面,把大於號改為小於號
if list_[n] > list_[n + 1]:
list_[n], list_[n + 1] = list_[n + 1], list_[n]
return list_
if __name__ == '__main__':
list_num = [23, 5, 0, 78, 56, 55, 77, 8, 2]
print(sort_the(list_num))