# encoding=utf-8


def bubble_sort(alist):
    """冒泡排序"""
    n = len(alist)
    for j in range(n-1):
        flag = True
        for i in range(n-1-j):
            if alist[i] > alist[i+1]:
                alist[i], alist[i+1] = alist[i+1], alist[i]
                flag = False
        # 没有交换,代表序列已经是有序的将时间复杂度降为了O(n)
        if flag:
            break


if __name__ == '__main__':
    alist = [22,1,4,553,3,212,77]
    print(alist)
    bubble_sort(alist)
    print(alist)

 

posted on 2017-09-15 16:52  晴空半岛  阅读(202)  评论(0编辑  收藏  举报