冒泡排序(Python)

demo:

def bubble_sort(alist):
    #相邻元素比较,发现位置错误,则进行交换
    n = len(alist)
    for j in range(n-1):
         for i in range(n-1-j):
            if alist[i] > alist[i+1]:
                alist[i],alist[i+1] = alist[i+1],alist[i]
alist = [7,6,9,34,65,12,76,98,9,56]
print('原数组\n',alist)
bubble_sort(alist)
print('排序完数组\n',alist)

最优时间复杂度:O(n) 表示遍历一次发现没有任何可以交换的元素,排序结束

最坏时间复杂度:O(n^2)

改排序算法是否稳定:稳定

上一篇:快速排序


下一篇:查找排序算法