演算法原理:
氣泡排序(Bubble Sort), 透過重複地走訪過要排序的數列,一次比較兩個元素,如果兩者的順序錯誤就把他們的位置交換。走訪數列的工作是重複地進行直到沒有再需要交換,也就是說該數列已經排序完成。
公共例項方法
# 氣泡排序
def bubble_sort(arr, reverse=False):
"""
:param arr: 排序陣列
:param reverse: 是否反向(倒敘/遞減)排序
:return:
"""
n = len(arr)
# 遍歷所有陣列元素
for i in range(n):
for j in range(0, n - i - 1):
if (not reverse and arr[j] > arr[j + 1]) or (reverse and arr[j] < arr[j + 1]):
arr[j], arr[j + 1] = arr[j + 1], arr[j]
if __name__ == '__main__':
_list = [23, 12, 5, 31, 17, 21]
bubble_sort(_list)
print(_list)
完成
參考內容:Python 氣泡排序
(以上內容參考來自菜鳥教程,並基於其內容實現正向或反向排序)