Python之快排算法
快排算法的思路:
- 从list中取出下标为0的值
- 定义三个list
- 进行循环,大于list[0]放入一个A,小于的放入B,其他的放入C
- 拼接:A+C+B
代码实现:
list = [13, 8, 11, 17, 5, 6, 1, 1, 1] def QuickSort(list): if len(list) <= 1: # 判断如果小于等于1,则无需排序,直接返回即可 return list else: key = list[0] # 获取list中下标为0的值(取值第一个) llist, rlist, mlist = [], [], [key] # 创建三个list for i in range(1, len(list)): # 因已经定义了key,随意从1取值 if list[i] < key: # 小于key放在一起 llist.append(list[i]) elif list[i] > key: # 大于key放在一起 rlist.append(list[i]) else: # 其他的放在一起 mlist.append(list[i]) return QuickSort(llist) + mlist + QuickSort(rlist) # 进行拼接
结果:
[1, 1, 1, 5, 6, 8, 11, 13, 17]
本文来自博客园,作者:他还在坚持嘛,转载请注明原文链接:他还在坚持嘛 https://www.cnblogs.com/brf-test/p/18203397
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架