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