python数据结构之快速排序
2024-09-06 05:06:15
def quick_sort(nums):
if not nums:
return []
else:
# 这里取第0个数为基点
flag = nums[0]
# 小于flag 的放到左边
left = quick_sort([ln for ln in nums[1:] if ln <= flag])
# 大于flag的放到右边
right = quick_sort([rn for rn in nums[1:] if rn > flag])
# 最后相加返回结果,别忘了flag
return left + [flag] + right a = [0, 6, 5, 4, 3, 1, 2, 3, 0]
print(quick_sort(a))
先任意选取一个数据(通常选用数组的第一个数)作为关键数据,然后将所有比它小的数都放到它左边, 所有比它大的数都放到它右边,这个过程称为一趟快速排序
最新文章
- 大家一起写mvc(二)
- mysql慢查日志分析工具 percona-toolkit
- [redis] Jedis 与 ShardedJedis 设计
- 对比学习UIKit和AppKit--入门级
- ASP.NET连接数据库并获取数据
- VB获取浏览器版本
- [设计模式]<;<;设计模式之禅>;>;工厂方法模式
- santoku学习笔记
- 微软Windows 7 “可启动U盘”制作工具及使用方法,非常的简单
- [译]Stairway to Integration Services Level 6 - SSIS 工作流管理基础
- STL--G - For Fans of Statistics(两个推断条件-二分)
- maven(03)
- ps命令学习笔记
- Servlet&;JSP-HTTP报文头获取及应用
- 【转】mysql索引使用技巧及注意事项
- Lambda表达式与函数式接口
- Consul常用命令
- try finally 执行顺序问题
- java阶段学习目标
- session超时跃出iframe并跳到登陆页面(转载)