Skip to content

Instantly share code, notes, and snippets.

@Xifeng2009
Created September 14, 2018 03:13
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Xifeng2009/eda9ef71b52ecf62b785464a2fe00bb8 to your computer and use it in GitHub Desktop.
Save Xifeng2009/eda9ef71b52ecf62b785464a2fe00bb8 to your computer and use it in GitHub Desktop.
归并排序
def MergeSort(lists):
if len(lists) <= 1:
return lists
num = int( len(lists) / 2 )
left = MergeSort(lists[:num])
right = MergeSort(lists[num:])
return Merge(left, right)
def Merge(left,right):
r, l=0, 0
result=[]
while l<len(left) and r<len(right):
if left[l] < right[r]:
result.append(left[l])
l += 1
else:
result.append(right[r])
r += 1
result += left[l:]
result += right[r:]
return result
print MergeSort([1, 2, 3, 4, 5, 6, 7, 90, 21, 23, 45])
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment