归并排序
先分再治
def merge_sort(data): if len(data)==1: return data mid = len(data) // 2 print(mid) left, right = data[:mid], data[mid:] return merge(merge_sort(left), merge_sort(right)) def merge(l1, l2): result = [] while len(l1)>0 and len(l2)>0: if l1[0] >= l2[0]: result.append(l2.pop(0)) else: result.append(l1.pop(0)) result += l1 result += l2 return result d = [33,2,11,8,7,12] merge_sort(d)
时刻记着自己要成为什么样的人!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)