插入排序
来源:互联网 发布:查看手机网络制式 编辑:程序博客网 时间:2024/06/11 12:26
中文wiki上的版本:
def insertion_sort(n): if len(n) == 1: return n b = insertion_sort(n[1:]) m = len(b) for i in range(m): if n[0] <= b[i]: return b[:i]+[n[0]]+b[i:] return b + [n[0]]
使用分片看得有点头疼
再来看看《Data Structures and Algorithms in Python》的版本
def insertion sort(A): ”””Sort list of comparable elements into nondecreasing order.””” for k in range(1, len(A)): # from 1 to n-1 cur = A[k] # current element to be inserted j = k # find correct index j for current while j > 0 and A[j−1] > cur: # element A[j-1] must be after current A[j] = A[j−1] j −= 1 A[j] = cur # cur is now in the right place这个还比较清楚些,书的这段代码后还有一个图,比较不错
参考:
http://zh.wikipedia.org/wiki/%E6%8F%92%E5%85%A5%E6%8E%92%E5%BA%8F
0 0
- 插入排序-【插入排序】
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- 插入排序
- linux部署tomcat web服务问题总结
- Android WebView 加载网页
- 利用chattr保护文件系统的安全
- Java简明教程-视频分享
- ICG技术专栏---同时访问VPN和互联网
- 插入排序
- JSP笔记
- springmvc多视图解释配置详解
- ibatis的resultClass与resultMap
- StarlingMVC
- Suse 11 sp1系统网卡驱动安装指导
- 《现代操作系统》精读与思考笔记 第六章 死锁
- Xcode 打开SVN更新后的工程提示,cannot be opened because the project file cannot be parsed解决办法
- 读书笔记:持续集成软件质量改进和风险降低之道-第二章