Python 氣泡排序

二月雪發表於2024-10-31

演算法原理:

氣泡排序(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 氣泡排序
(以上內容參考來自菜鳥教程,並基於其內容實現正向或反向排序)

相關文章