将开发过程经常用到的一些代码片段收藏起来,下面的资料是关于归并排序python实现的代码,应该能对码农们有一些用。

def mergesort(arr):
if len(arr) == 1:
return arr

m = len(arr) / 2
l = mergesort(arr[:m])
r = mergesort(arr[m:])

if not len(l) or not len(r):
return l or r

result = []
i = j = 0
while (len(result) < len(r)+len(l)):
if l[i] < r[j]:
result.append(l[i])
i += 1
else:
result.append(r[j])
j += 1
if i == len(l) or j == len(r):
result.extend(l[i:] or r[j:])
break

return result

最新文章

  1. Delaunay剖分与平面欧几里得距离最小生成树
  2. JavaScript基础—插曲02
  3. EDW on Hadoop(Hadoop上的数据仓库)技术选型和实践思考
  4. 何时使用Swift Structs和Classes
  5. 设计模式 --- 模型-视图-控制器(Model View Controller)
  6. 【POJ 1260】Pearls
  7. 【设计模式】装饰者模式(Decorator)
  8. u-boot board_uart_init流程
  9. cocos2d-x lua 使用自定义消息EventCustom
  10. 在Visual Studio 2010中使用DSL Tool特定领域开发 开篇
  11. bzoj 2152: 聪聪可可 树的点分治
  12. hdu 6121---Build a tree(深搜+思维)
  13. bootstrap fileinput上传返回400,404,500 等错误替换
  14. 【BZOJ4916】神犇和蒟蒻(杜教筛)
  15. [HNOI 2016]树
  16. python --- 二分查找算法
  17. sqlite3数据库教程
  18. Python校验文件MD5值
  19. DOIS 2018 — OneAPM 蓝海讯通以数据为中心的 AIOps 平台亮相
  20. Shell基础 - Bash基础功能

热门文章

  1. API调试工具--------Postman
  2. python做上位机
  3. 使用innobackupex进行mysql的差异备份还原和延迟复制
  4. WebGL学习笔记(十六):遮罩
  5. 运行应用-使用Deployment运行无状态应用程序
  6. Python线程池及其原理和使用(超级详细)
  7. APT33追踪思路
  8. SpringBoot小技巧:修改java可执行jar包内容
  9. 将博客转成pdf
  10. spring boot的actuator