python 实现归并排序算法


Posted in Python onJune 05, 2012

理论不多说:

#!/usr/bin/python 
import sys def merge(array, q, p, r): 
left_array = array[q:p+1] 
right_array = array[p+1:r+1] 
left_array_num = len(left_array) 
right_array_num = len(right_array) 
i, j , k= [0, 0, q] 
while i < left_array_num and j < right_array_num: 
if (left_array[i] < right_array[j]): 
array[k] = left_array[i] 
i+=1 
else: 
array[k] = right_array[j] 
j+=1 
k+=1 
while i < left_array_num: 
array[k] = left_array[i]; 
k+=1 
i+=1 
while j < right_array_num: 
array[k] = right_array[j] 
k+=1 
j+=1 
def merge_sort(array, q, r): 
if q < r: 
p = (q + r) / 2 
merge_sort(array, q, p) 
merge_sort(array, p + 1, r) 
merge(array, q, p, r) 
if __name__ == "__main__": 
array = [2, 45, 5, 7, 34, 456, 345, 89, 8, 1, 341, 4, 98, 67] 
merge_sort(array, 0, len(array) - 1) 
for a in array: 
sys.stdout.write("%d " % a)
Python 相关文章推荐
Python中处理时间的几种方法小结
Apr 09 Python
Python的gevent框架的入门教程
Apr 29 Python
浅析Python中的join()方法的使用
May 19 Python
Python使用os模块和fileinput模块来操作文件目录
Jan 19 Python
windows下Python实现将pdf文件转化为png格式图片的方法
Jul 21 Python
Python搜索引擎实现原理和方法
Nov 27 Python
python入门前的第一课 python怎样入门
Mar 06 Python
python 读文件,然后转化为矩阵的实例
Apr 23 Python
关于Python作用域自学总结
Jun 10 Python
Flask框架学习笔记之使用Flask实现表单开发详解
Aug 12 Python
Python如何使用ElementTree解析xml
Oct 12 Python
Python机器学习之KNN近邻算法
May 14 Python
python 实现插入排序算法
Jun 05 #Python
python 算法 排序实现快速排序
Jun 05 #Python
python操作MySQL数据库的方法分享
May 29 #Python
python利用elaphe制作二维条形码实现代码
May 25 #Python
用python实现批量重命名文件的代码
May 25 #Python
删除目录下相同文件的python代码(逐级优化)
May 25 #Python
ssh批量登录并执行命令的python实现代码
May 25 #Python
You might like
PHP4和PHP5性能测试和对比 测试代码与环境
2007/08/17 PHP
php将会员数据导入到ucenter的代码
2010/07/18 PHP
PHP操作Memcache实例介绍
2013/06/14 PHP
php的SimpleXML方法读写XML接口文件实例解析
2014/06/16 PHP
Yii2使用小技巧之通过 Composer 添加 FontAwesome 字体资源
2014/06/22 PHP
PHP中的traits简单使用实例
2015/05/13 PHP
php使用curl打开https网站的方法
2015/06/17 PHP
Yii中srbac权限扩展模块工作原理与用法分析
2016/07/14 PHP
实例讲解php将字符串输出到HTML
2019/01/27 PHP
QQ邮箱的一个文本编辑器代码
2007/03/14 Javascript
对xmlHttp对象的理解
2011/01/17 Javascript
open 动态修改img的onclick事件示例代码
2013/11/13 Javascript
js中一维数组和二位数组中的几个问题示例说明
2014/07/17 Javascript
浅谈JavaScript Array对象
2014/12/29 Javascript
JavaScript新增样式规则(推荐)
2016/07/19 Javascript
jQuery EasyUI右键菜单实现关闭标签/选项卡
2016/10/10 Javascript
jQuery监听文件上传实现进度条效果的方法
2016/10/16 Javascript
详解vue2父组件传递props异步数据到子组件的问题
2017/06/29 Javascript
微信实现自动跳转到用其他浏览器打开指定APP下载
2019/02/15 Javascript
layui的select联动实现代码
2019/09/28 Javascript
vue将文件/图片批量打包下载zip的教程
2020/10/21 Javascript
Python实现提取文章摘要的方法
2015/04/21 Python
python实现将excel文件转化成CSV格式
2018/03/22 Python
对python中Json与object转化的方法详解
2018/12/31 Python
Python 保持登录状态进行接口测试的方法示例
2019/08/06 Python
Python中注释(多行注释和单行注释)的用法实例
2019/08/28 Python
python系统指定文件的查找只输出目录下所有文件及文件夹
2020/01/19 Python
python等差数列求和公式前 100 项的和实例
2020/02/25 Python
浅谈html5之sse服务器发送事件EventSource介绍
2017/08/28 HTML / CSS
eDreams葡萄牙:全球最大的在线旅行社之一
2019/04/15 全球购物
学生处主任岗位职责
2013/12/01 职场文书
企业管理毕业生求职信
2014/03/11 职场文书
辞职信标准格式
2015/02/27 职场文书
毕业生个人自荐书
2015/03/05 职场文书
校长一岗双责责任书
2015/05/09 职场文书
go语言-在mac下brew升级golang
2021/04/25 Golang