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 selenium如何设置等待时间
Sep 15 Python
Python简单操作sqlite3的方法示例
Mar 22 Python
对Python发送带header的http请求方法详解
Jan 02 Python
Python字符串的全排列算法实例详解
Jan 07 Python
使用Python快速制作可视化报表的方法
Feb 03 Python
Python这样操作能存储100多万行的xlsx文件
Apr 16 Python
pyqt 实现在Widgets中显示图片和文字的方法
Jun 13 Python
Python Django 添加首页尾页上一页下一页代码实例
Aug 21 Python
Python读取配置文件(config.ini)以及写入配置文件
Apr 08 Python
Python使用Numpy模块读取文件并绘制图片
May 13 Python
Python爬虫实现百度翻译功能过程详解
May 29 Python
Python自动登录QQ的实现示例
Aug 28 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
PHP个人网站架设连环讲(四)
2006/10/09 PHP
php使用curl实现简单模拟提交表单功能
2017/05/15 PHP
在phpstudy集成环境下的nginx服务器下配置url重写
2019/12/02 PHP
Javascript 函数对象的多重身份
2009/06/28 Javascript
对象无length属性时IE6/IE7中无法将其转换成伪数组(ArrayLike)
2011/07/31 Javascript
计算世界完全对称日的js代码,粗糙版
2011/11/04 Javascript
jquery ajax请求实例深入解析
2012/11/26 Javascript
JQuery触发事件例如click
2013/09/11 Javascript
JS自调用匿名函数具体实现
2014/02/11 Javascript
javascript获取checkbox复选框获取选中的选项
2014/08/12 Javascript
jQuery中:text选择器用法实例
2015/01/03 Javascript
详解angularjs中的隔离作用域理解以及绑定策略
2017/05/31 Javascript
React学习笔记之事件处理(二)
2017/07/02 Javascript
浅谈在fetch方法中添加header后遇到的预检请求问题
2017/08/31 Javascript
vue 实现类似淘宝星级评分的示例
2018/03/01 Javascript
打通前后端构建一个Vue+Express的开发环境
2018/07/17 Javascript
express启用https使用小记
2019/05/21 Javascript
JavaScript设计模式--简单工厂模式实例分析【XHR工厂案例】
2020/05/23 Javascript
解决vue-loader加载不上的问题
2020/10/21 Javascript
如何封装Vue Element的table表格组件
2021/02/06 Vue.js
[59:15]EG vs LGD 2018国际邀请赛淘汰赛BO3 第一场 8.26
2018/08/29 DOTA
Django 2.0版本的新特性抢先看!
2018/01/05 Python
python3读取csv文件任意行列代码实例
2020/01/13 Python
python获取响应某个字段值的3种实现方法
2020/04/30 Python
美国药妆网站:EDCskincare.com(防晒、痤疮、抗衰老等)
2017/04/28 全球购物
比赛口号大全
2014/06/10 职场文书
会议欢迎标语
2014/06/30 职场文书
新党章心得体会
2014/09/04 职场文书
批评与自我批评总结
2014/10/17 职场文书
家长通知书家长意见
2015/06/03 职场文书
《山中访友》教学反思
2016/02/24 职场文书
python字符串常规操作大全
2021/05/02 Python
golang 实现时间戳和时间的转化
2021/05/07 Golang
前端vue+express实现文件的上传下载示例
2022/02/18 Vue.js
Python实现批量自动整理文件
2022/03/16 Python
MySQL的存储过程和相关函数
2022/04/26 MySQL