python冒泡排序优化

测试交流群 631450326
‘’’
优化的关键点 是对 有序区的 界定(在哪里开始有序)
我们在每一轮排序后,记录下最后一次元素交换的位置,那 该位置就是 无序区的边界 ,再往后 就是有趣
‘’’

def sort_bubble(tmp_list):

    # 记录最后一次交换的位置
    last_chage_index = 0
    # 无序区的便捷,每次就比较到这里就行了
    
    sort_border = len(tmp_list) -1
    for i in range(len(tmp_list)):
        is_sorted = True
        
        for j in range(sort_border):
            if tmp_list[j] > tmp_list[j + 1]:
                tmp_list[j], tmp_list[j + 1] = tmp_list[j + 1], tmp_list[j]
                is_sorted = False
                last_chage_index = j

        sort_border = last_chage_index
        if is_sorted:
            break
    print(tmp_list)

sort_bubble([3,4,2,1,5,6,7,8,9])
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值