冒泡排序
基本冒泡排序
''' 冒泡排序 比较列表相邻的两个元素,前面>后面,交换位置,一趟比较后,无序列表个数减1,有序列表个数+1 复杂度 O(N^2) ''' import random 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_plus(list): for i in range(len(list) - 1): ifOk = 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] ifOk = False #交换位置表示需要进行交换位置了 if ifOk:#没交换位置表示已经是有序了 return
验证
nums = [random.randint(0, 5000) for i in range(1000)] print(nums) #bubble_sort(nums) bubble_sort_plus(nums) print(nums)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 一文读懂知识蒸馏
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
2022-05-22 Spark 运行模式(local)
2021-05-22 hive 窗口函数(三)
2021-05-22 hive 窗口函数(二)
2021-05-22 hive 窗口函数(一)