def merge_sort(alist):
n=len(alist)
if n<=1:
return alist
mid=n//2
left_list =merge_sort(alist[:mid])
right_list =merge_sort(alist[mid:])
left_index,right_index=0,0
result=[]
while(left_index<len(left_list)and right_index<len(right_list)):
if left_list[left_index] < right_list[right_index]:
result.append(left_list[left_index])
left_index+=1
else:
result.append(right_list[right_index])
right_index+=1
result+=(left_list[left_index:])
result+=(right_list[right_index:])
return result
if __name__ == '__main__':
list=[2,4,5,7,3,19,34,1,6]
print(merge_sort(list))
python 数据结构与算法之归并算法
猜你喜欢
转载自blog.csdn.net/qq_38662930/article/details/83755738
今日推荐
周排行