Newer
Older
def merge_sort(lnum):
if len(lnum) > 1:
return merge(merge_sort(lnum[:len(lnum) // 2]), merge_sort(lnum[len(lnum) // 2:]))
else:
return lnum
def merge(nums1, nums2):
res = []
while nums1 or nums2:
if not nums1:
res.append(nums2[0])
del nums2[0]
elif not nums2:
res.append(nums1[0])
del nums1[0]
else:
if nums1[0] < nums2[0]:
res.append(nums1[0])
del nums1[0]
else:
res.append(nums2[0])
del nums2[0]
return res