冒泡排序(python实现)

思想:从第一个开始往后进行比较大小,如果大,互相交换位置,继续往后比较,如果小,进行下一个元素的比较(也是顺序的比较大小)。

def bubble_sort(sort_list):
    """冒泡排序"""
    n = len(sort_list)
    # 每个元素都需要在list中比较一遍,最差情况为O(n*n)
    for j in range(0, n-1):
        count = 0
    # 当前元素在序列中进行排序
        for i in range(0, n-1-j):
            if sort_list[i] > sort_list[i+1]:
                sort_list[i],sort_list[i+1] = sort_list[i+1],sort_list[i]
                count += 1
        if count == 0: # 如果序列本身就是有序的,直接退出。O(n)
            return

 

posted @ 2019-12-01 16:21  L1m1t  阅读(399)  评论(0编辑  收藏  举报