突突突突突突

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

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

把列表立起来如上图所示,从列表的第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)

 

posted on 2019-02-25 17:26  徐建0304  阅读(147)  评论(0编辑  收藏  举报