排序算法lowb三人组-冒泡排序

冒泡排序:顾名思义就是像气泡从水里浮出来一样

把列表立起来如上图所示,从列表的第0项开始循环(把最大的数想成此次循环的气泡)

要把最大的放到上面那那就用第0项开始一次和剩下的开始比较,只要比第0项小就把他们两个的位置互换一次类推,循环一圈下来7就到了他应该处在的位置上.

def bubble_sort(li):
    for i in range(len(li)-1):  # i表示第n趟 一共n或者n-1趟
        exchange = False
        for j in range(len(li)-i-1): # 第i趟 无序区[0, n-i-1]  j表示箭头 0~n-i-2
            if li[j] > li[j+1]:
                li[j], li[j+1] = li[j+1], li[j]
                exchange = True
        if not exchange:
            break

循环结束后,列表就排好序了,但是有点复杂,要循环N*N次

最好情况:O(N)

平均情况:O(N^2)

最坏情况:O(N^2)

猜你喜欢

转载自www.cnblogs.com/Treasuremy/p/10432108.html