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 opencv之SURF算法示例
Feb 24 Python
python3.5 cv2 获取视频特定帧生成jpg图片
Aug 28 Python
python3 使用openpyxl将mysql数据写入xlsx的操作
May 15 Python
tensorflow实现从.ckpt文件中读取任意变量
May 26 Python
Python中内建模块collections如何使用
May 27 Python
python--shutil移动文件到另一个路径的操作
Jul 13 Python
安装并免费使用Pycharm专业版(学生/教师)
Sep 24 Python
Python爬虫开发与项目实战
Dec 16 Python
浅析Python打包时包含静态文件处理方法
Jan 15 Python
python爬虫beautifulsoup库使用操作教程全解(python爬虫基础入门)
Feb 19 Python
详解Python中的进程和线程
Jun 23 Python
python在package下继续嵌套一个package
Apr 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
几款免费开源的不用数据库的php的cms
2010/12/19 PHP
PHP实现扎金花游戏之大小比赛的方法
2015/03/10 PHP
Symfony2实现在doctrine中内置数据的方法
2016/02/05 PHP
PHP实现二维数组去重功能示例
2017/01/12 PHP
ext前台接收action传过来的json数据示例
2014/06/17 Javascript
分享jQuery网页元素拖拽插件
2020/12/01 Javascript
jQuery ajax调用后台aspx后台文件的两种常见方法(不是ashx)
2016/06/28 Javascript
浅析JavaScript中作用域和作用域链
2016/12/06 Javascript
javascript正则表达式模糊匹配IP地址功能示例
2017/01/06 Javascript
angularJS模态框$modal实例代码
2017/05/27 Javascript
babel的使用及安装配置教程
2018/02/22 Javascript
解决vue-cli项目webpack打包后iconfont文件路径的问题
2018/09/01 Javascript
Element Cascader 级联选择器的使用示例
2020/07/27 Javascript
基于Ionic3实现选项卡切换并重新加载echarts
2020/09/24 Javascript
[36:13]Mineski vs iG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
Python translator使用实例
2008/09/06 Python
用Python实现一个简单的能够发送带附件的邮件程序的教程
2015/04/08 Python
Python命令行参数解析模块getopt使用实例
2015/04/13 Python
python微信好友数据分析详解
2018/11/19 Python
一篇文章搞懂Python的类与对象名称空间
2018/12/10 Python
Python实现的旋转数组功能算法示例
2019/02/23 Python
Python要求O(n)复杂度求无序列表中第K的大元素实例
2020/04/02 Python
Python爬虫爬取百度搜索内容代码实例
2020/06/05 Python
python + selenium 刷B站播放量的实例代码
2020/06/12 Python
pycharm 实现光标快速移动到括号外或行尾的操作
2021/02/05 Python
Mistine官方海外旗舰店:泰国国民彩妆品牌
2016/12/28 全球购物
杰夫·班克斯男士服装网上商店:Jeff Banks
2019/10/24 全球购物
怎么处理XML的中文问题
2015/03/26 面试题
中专毕业生求职简历的自我评价
2013/10/21 职场文书
小学教师师德感言
2014/02/10 职场文书
借款协议书
2014/09/16 职场文书
司机个人年终总结
2015/03/03 职场文书
开学第一周值周总结
2015/07/16 职场文书
合理缓解职场压力,让你随时保持最佳状态!
2019/06/21 职场文书
pytorch交叉熵损失函数的weight参数的使用
2021/05/24 Python
Win11无法安装更新补丁KB3045316怎么办 附KB3045316补丁修复教程
2022/08/14 数码科技