数据结构与算法(排序)

时间:2020-07-12 20:42:52   收藏:0   阅读:79

1.冒泡排序

def bubble_sort(list):
    for i in range(len(list)-1):
        for j in range(len(list)-i-1):
            if list[j] > list[j+1]:
                list[j], list[j+1] = list[j+1], list[j]     # 如果前一个数比后一个数大,则交换位置

  改进:

def bubble_sort(list):
    for i in range(len(list)-1):
        opt = True  # 设置一个值,当下面发生交换时,改变该值,当没有发生交换时,说明裂变顺序已经排好了
        for j in range(len(list)-i-1):
            if list[j] > list[j+1]:
                list[j], list[j+1] = list[j+1], list[j]     # 如果前一个数比后一个数大,则交换位置
                opt = False
        if not opt:     # 当没有发生交换时,opt 的值没有被改变,则执行这个语句 结束循环
            return

 

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!