# -*- coding: utf-8 -*-
def merge(nums1,nums2):
res=[]
i=j=0
while i<len(nums1) and j<len(nums2):
if nums1[i]<nums2[j]:
res.append(nums1[i])
i+=1
else:
res.append(nums2[j])
j+=1
if i==len(nums1):
res.extend(nums2[j:])
else:
res.extend(nums1[i:])
return res
def mergeSort(nums):
if len(nums)==1:
return nums
middle=len(nums)//2
left=mergeSort(nums[:middle])
right=mergeSort(nums[middle:])
return merge(left,right)
print(mergeSort([4, 7, 8, 3, 5, 9]))
归并排序
最新推荐文章于 2021-02-26 15:23:25 发布