冒泡排序的复杂度:O(N^2)
冒泡排序的思想:每次比较两个相邻的元素, 如果他们的顺序错误就把他们交换位置
比如有五个数: [36, 25, 48, 12, 25, 65, 43, 57], 从大到小排序, 对相邻的两位进行比较
[36, 25, 48, 12, 25, 65, 43, 57] # 原始数据
[25, 36, 48, 12, 25, 65, 43, 57]
[12, 36, 48, 25, 25, 65, 43, 57]
[12, 25, 48, 36, 25, 65, 43, 57]
[12, 25, 36, 48, 25, 65, 43, 57]
[12, 25, 25, 48, 36, 65, 43, 57]
[12, 25, 25, 36, 48, 65, 43, 57]
[12, 25, 25, 36, 43, 65, 48, 57]
[12, 25, 25, 36, 43, 48, 65, 57]
[12, 25, 25, 36, 43, 48, 57, 65]
冒泡排序原理: 每一趟只能将一个数归位, 如果有n个数进行排序,只需将n-1个数归位, 也就是说要进行n-1趟操作(已经归位的数不用再比较)
def bubble_sort(array: list) -> list:"""冒泡排序Example:>>> myArray = [36, 25, 48, 12, 25, 65, 43, 57]>>> [12, 25, 25, 36, 43, 48, 57, 65]"""length = len(array)for i in range(0, length):for j in range(i+1, length):if array[i] > array[j]:array[i], array[j] = array[j], array[i]# print(array)return array
