python 实现归并排序算法

 更新时间:2012年06月05日 23:41:39   作者:  
python 实现归并排序算法代码,需要的朋友可以参考下
理论不多说:
复制代码 代码如下:

#!/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中的 No Module named ***问题及解决

    Python中的 No Module named ***问题及解决

    这篇文章主要介绍了Python中的 No Module named ***问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-07-07
  • 利用Python产生加密表和解密表的实现方法

    利用Python产生加密表和解密表的实现方法

    这篇文章主要介绍了利用Python产生加密表和解密表的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-10-10
  • Python语法糖遍历列表时删除元素方法示例详解

    Python语法糖遍历列表时删除元素方法示例详解

    这篇文章主要为大家介绍了Python语法糖遍历列表时删除元素详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-05-05
  • 使用opencv中匹配点对的坐标提取方式

    使用opencv中匹配点对的坐标提取方式

    这篇文章主要介绍了使用opencv中匹配点对的坐标提取方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • Python实现Excel文件的合并(以新冠疫情数据为例)

    Python实现Excel文件的合并(以新冠疫情数据为例)

    这篇将以新冠疫情数据为例,详细介绍了如何利用Python实现合并Excel文件,文中的示例代码讲解详细,感兴趣的可以了解一下
    2022-03-03
  • python读写csv文件并增加行列的实例代码

    python读写csv文件并增加行列的实例代码

    这篇文章主要介绍了python读写csv文件并增加行列的实现方法,文中给大家介绍了python写入csv文件的几种方法总结,给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-08-08
  • 一文教会你用Python实现pdf转word

    一文教会你用Python实现pdf转word

    python实现pdf转word,支持中英文转换,转换精度高,可以达到使用效果,下面这篇文章主要给大家介绍了关于用Python实现pdf转word的相关资料,需要的朋友可以参考下
    2023-01-01
  • python+selenium 定位到元素,无法点击的解决方法

    python+selenium 定位到元素,无法点击的解决方法

    今天小编就为大家分享一篇python+selenium 定位到元素,无法点击的解决方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-01-01
  • Python利用redis-py实现哈希数据类型的常用指令操作

    Python利用redis-py实现哈希数据类型的常用指令操作

    这篇文章我们继续学习 “redis-py” 模块的一些关于 “哈希数据类型” 的相关指令用方法,比如利用 pyton 实现操作 “哈希表” 的数据、操作 “redis” 的事务等等
    2022-09-09
  • TF-IDF算法解析与Python实现方法详解

    TF-IDF算法解析与Python实现方法详解

    这篇文章主要介绍了TF-IDF算法解析与Python实现方法详解,文章介绍了tf-idf算法的主要思想,分享了Python实现tr-idf算法所必要的预处理过程,以及具体实现代码等相关内容,具有一定参考价值,需要的朋友可以了解下。
    2017-11-11

最新评论