a = [2,4,2,1,3,45,54,34,23,12,7,8,6,5,41,9]
s = '原数组为:' + repr(a)
print(s)
def merge(a1,a2):
f=[]
a1=sorted(a1)#将数组分为左右两部分后,分别对左右两部分进行排序
a2=sorted(a2)
while a1 and a2:
if a1[0] <= a2[0] :
# append : 向数组f追加元素
# pop : 将数组中的元素抛出
f.append(a1.pop(0))
else:
f.append(a2.pop(0))
return f + a2 + a1
def ms(lst):
# len : 计算数组长度
if len(lst) <= 1 :
return lst
mid = len(lst) // 2
# list[:mid] : 是指列表中的元素从零开始到mid-1之间的元素
# list[mid:] : 是指列表中的元素从mid到列表末尾之间的元素
returnmerge(ms(lst[:mid]),ms(lst[mid:]))
s = '排序后的数组为:' + repr(ms(a))
print(s)
07-24