归并排序的思想是:递归思想
def merge(l1,l2):
merged=[]
i1=i2=0
while i1<len(l1) or i2<len(l2):
if i2==len(l2) or (i1<len(l1) and l1[i1]<l2[i2]):
merged.append(l1[i1])
i1+=1
else:
merged.append(l2[i2])
i2+=1
return merged
def mergesort(lst):
if len(lst)<=1:
return lst
else:
mid=len(lst)//2
return merge(mergesort(lst[:mid]),mergesort(lst[mid:]))
import random
lst=list(range(30))
random.shuffle(lst)
print(mergesort(lst))
python 归并排序
最新推荐文章于 2024-08-10 10:46:00 发布