ITPub博客

首页 > 数据库 > 数据库开发技术 > MergeSort,归并排序的Python实现

MergeSort,归并排序的Python实现

原创 数据库开发技术 作者:牛平 时间:2016-05-05 18:27:53 0 删除 编辑

点击(此处)折叠或打开

  1. def main():
  2.     pass

  3. if __name__ == '__main__':
  4.     main()

  5. def part_Sort( sort_list1, sort_list2 ):
  6.     sorted_list=[]
  7.     while sort_list1 and sort_list2:
  8.         if sort_list1[ 0 ] < sort_list2[ 0 ]:
  9.             sorted_list.append( sort_list1[ 0 ] )
  10.             sort_list1.pop( 0 )
  11.         else:
  12.             sorted_list.append( sort_list2[ 0 ] )
  13.             sort_list2.pop( 0 )

  14.     if not sort_list1:
  15.         sorted_list.extend( sort_list2 )
  16.         sort_list2 = []
  17.     elif not sort_list2:
  18.         sorted_list.extend( sort_list1 )
  19.         sort_list1 = []
  20.     else:
  21.         pass
  22.     return sorted_list

  23. origin_list = [1, 2, 3, 34, 5, 7, 9, 11, 13, 19, 21,3,5,7,9,55555]

  24. def mergeSort( m_list ):
  25.     mid = int( len(m_list)/2 )
  26.     if len(m_list) <= 1:
  27.         return m_list
  28.     return part_Sort( mergeSort(m_list[:mid]), mergeSort(m_list[mid:]))


  29. print mergeSort( origin_list )

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29757574/viewspace-2094355/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
一个在金融小企业瞎折腾的运维,梦想给小企业带来尽可能的标准化与自动化。

注册时间:2014-07-18

  • 博文量
    50
  • 访问量
    154496