首页 > 编程语言 > 详细

python---冒泡排序

时间:2020-03-16 15:35:57      阅读:62      评论:0      收藏:0      [点我收藏+]
def bubble_sort1(alist):
    """冒泡排序"""
    n = len(alist)
    for j in range(n - 1):  # j: 0,   1,    2,  ..., n-2
        count = 0
        # 从列表头到尾比较一次
        for i in range(n - 1 - j):  # i: n-2, n-3, n-4, ..., 1
            if alist[i] > alist[i + 1]:
                alist[i], alist[i + 1] = alist[i + 1], alist[i]
                count += 1
        # 从头到尾比较, 如果没有交换, 停止
        if count == 0:
            return


def bubble_sort2(alist):
    """冒泡排序"""
    n = len(alist)
    for j in range(n - 1, 0, -1):  # n-1, n-2, ..., 1
        count = 0
        # 从列表头到尾比较一次
        for i in range(j):  # n-2, n-1, ..., 0
            if alist[i] > alist[i + 1]:
                alist[i], alist[i + 1] = alist[i + 1], alist[i]
                count += 1
        # 从头到尾比较, 如果没有交换, 停止
        if count == 0:
            return 
    

if __name__ == '__main__':
    lst = [45, 36, 18, 44, 66, 78, 11, 24]
    print(lst)
    bubble_sort2(lst)
    print(lst)

python---冒泡排序

原文:https://www.cnblogs.com/KX-Lau/p/12504139.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!