def mergesort(L):
print L
if len(L)<2:
return L[:]
else:
middle = len(L)/2
left = mergesort(L[:middle])
right = mergesort(L[middle:])
together = merge(left,right)
print together
return together
def merge(left,right):
result = []
i,j=0,0
while i <len(left) and j<len(right):
if left[i]<=right[j]:
result.append(left[i])
i=i+1
else:
result.append(right[j])
j=j+1
while(i<len(left)):
result.append(left[i])
i=i+1
while(j<len(right)):
result.append(right[j])
j=j+1
return result
M=[1,4,3,6,2,5]
s=mergesort(M)
python 归并算法
最新推荐文章于 2021-03-24 13:10:56 发布