菜鸟笔记——归并排序

def merge_sort(alist):
n = len(alist)
mid = n//2
if n <=1:
return alist#考虑列表一个元素的情况
left_list = alist[:mid]
right_list = alist[mid:]
left_p, right_p = 0, 0#创建两个浮标
result = []#归并在新的列表中
while left_p<len(left_list) and right_p<len(right_list):
if left_list[left_p] < right_list[right_p]:
result.append(left_list[left_p]
left_p +=1
else:
result.append(right_list[right_p]
right_p +=1
result += left_list[left_p:]#添加俩表剩余元素
result += right_list[right_p:]
return result

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值