baike 2020-02-16
冒泡排序:最简单的排序算法
时间复杂度:
最优时间复杂度O(N),表示遍历一次没有发现任何可以交换的元素,排序结束
最差时间复杂度O(N2)
稳定性:稳定
Python代码:
#bubble_sort:冒泡排序 def bubble_sort(alist): """冒泡排序""" n = len(alist) for j in range(n-1): count = 0 #记录内层循环是否进行交换,如果交换,那么加一 for i in range(n-1-j): #内层循环:从头走到尾 if alist[i] > alist[i + 1]: alist[i],alist[i + 1] = alist[i + 1],alist[i] count += 1 if 0 == count: break """ for j in range(n-1,0,-1): for i in range(j): """ if __name__ == "__main__": alist = [23,45,13,56,78,34,23] print(alist) bubble_sort(alist) print(alist)
输出结果:
# 第三题:使用python实现冒泡排序def BubbleSort: long = len for i in range: for j in range: if list[i] < list[j]: