代码如下:
# bubble_sort.py def bubble_sort(alist): # 外层循环 for j in range(len(alist) - 1): count = 0 # 内层循环 for i in range(0, len(alist)-1-j): if alist[i] > alist[i + 1]: alist[i], alist[i + 1] = alist[i + 1], alist[i] count += 1 if 0 == count: break if __name__ == '__main__': li = [32, 12, 66, 17, 80, 58, 46, 25, 74] print(li) bubble_sort(li) print(li)
时间复杂度:
最优时间复杂度:O(n) (遍历一次发现没有可以交换的元素,排序结束)
最坏时间复杂度:O(n^2)
稳定性:稳定