# -*- coding:utf-8 -*-
def merge(left,right):
i , j = 0,0
lists = []
while i < len(left) and j < len(right):
if left[i] <= right[j]:
lists.append(left[i])
i += 1
else:
lists.append(right[j])
j += 1
lists += left[i:]
lists += right[j:]
return lists
print(lists)
def mergeSort(A):
if len(A) <= 1:
return A
num = int(len(A)/2)
print(num)
left = mergeSort(A[:num])
right = mergeSort(A[num:])
return merge(left,right)
if __name__=='__main__':
A = [10,9,8,7,6,5,4,3,2,1]
A= mergeSort(A)
print(A)
def merge(left,right):
i , j = 0,0
lists = []
while i < len(left) and j < len(right):
if left[i] <= right[j]:
lists.append(left[i])
i += 1
else:
lists.append(right[j])
j += 1
lists += left[i:]
lists += right[j:]
return lists
print(lists)
def mergeSort(A):
if len(A) <= 1:
return A
num = int(len(A)/2)
print(num)
left = mergeSort(A[:num])
right = mergeSort(A[num:])
return merge(left,right)
if __name__=='__main__':
A = [10,9,8,7,6,5,4,3,2,1]
A= mergeSort(A)
print(A)