python归并排序递归_分治策略之归并排序(Python实现)

一、 实验目的及任务

用分治法解决数组排序

二、 实验环境

c++或java

三、 问题描述

Input : 一个数组

Output:自小到大排列的数组

四、 编程任务

对于一个数组,用分治法的思想将其按照从小到大排列。

五、 数据输入

随机产生1000以上的数据,放入输入文件input.txt

六、 结果输出

比如数组 A ={3, 41, 52, 26, 38, 57, 9, 49},输出为{3,9,26,38,41,49.51,57}。

七、 实验报告内容

程序主要代码

import math

import ioTool

#合并

def merge(A, B, s):

Aindex = 0 #A下标

Bindex = 0 #B下标

while Aindex + Bindex < len(s):

#如果

if Bindex == len(B) or (Aindex B[Bindex]):

s[Aindex+Bindex] = A[Aindex]

Aindex = Aindex + 1

else:

s[Aindex+Bindex] = B[Bindex]

Bindex = Bindex + 1

return s

#拆分

num = 0

def merge_soft(s):

global num

n = le

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值