import random
A = []
for i in range(random.randint(0, 100)):
A.append(random.randint(0, 100))
print A
def merge_sort(A):
if len(A) <= 1:
return A
def merge(A1, A2):
merged = []
while A1 and A2:
if A1[0] <= A2[0]:
merged.append(A1.pop(0))
else:
merged.append(A2.pop(0))
while A1:
merged.append(A1.pop(0))
while A2:
merged.append(A2.pop(0))
return merged
m = len(A)/2
A1 = merge_sort(A[:m])
A2 = merge_sort(A[m:])
return merge(A1, A2)
print merge_sort(A)
【python菜鸟日记】-03算法导论-归并排序
最新推荐文章于 2021-03-02 16:59:43 发布
本文介绍了一个使用Python实现的随机整数生成与归并排序算法。该程序首先生成一个包含0到100之间的随机整数的列表,然后利用归并排序算法对这些整数进行排序。归并排序是一种分而治之的排序算法,通过递归地将数组分为两部分,分别排序后再合并。文章详细展示了如何实现归并排序的各个步骤。
956

被折叠的 条评论
为什么被折叠?



