Python 冒泡排序

lanjianhua / 2025-02-21 / 原文

算法原理:

冒泡排序(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 冒泡排序
(以上内容参考来自菜鸟教程,并基于其内容实现正向或反向排序)