十大排序算法之一:冒泡排序(Python)

2019-05-14  本文已影响0人  李蕴Ronnie
冒泡排序
1.算法步骤

比较相邻的元素,如果第一个比第二个大,就交换他们两个;
对每一个对相邻元素做同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数。
针对所有的元素重复以上的步骤,除了最后一个。
持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

2. Python代码实现
def bubble_sort(l):
    n = len(l)
    while n > 0:
        for i in range(1, n):
            if l[i] < l[i - 1]:
                l[i], l[i - 1] = l[i - 1], l[i]
        n -= 1
    return l


l = [6, 3, 5, 9, 12, 7]
print(bubble_sort(l))

返回结果

[3, 5, 6, 7, 9, 12]
3. 时间复杂度:O(n²)
上一篇 下一篇

猜你喜欢

热点阅读