Python冒泡排序代码实现

代码如下:

# bubble_sort.py
def bubble_sort(alist):
    # 外层循环
    for j in range(len(alist) - 1):
        count = 0
        # 内层循环
        for i in range(0, len(alist)-1-j):
            if alist[i] > alist[i + 1]:
                alist[i], alist[i + 1] = alist[i + 1], alist[i]
                count += 1
        if 0 == count:
            break


if __name__ == '__main__':
    li = [32, 12, 66, 17, 80, 58, 46, 25, 74]
    print(li)
    bubble_sort(li)
    print(li)


时间复杂度: 

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

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

        稳定性:稳定






你可能感兴趣的:(Python冒泡排序代码实现)