【发布时间】:2013-12-09 23:59:28
【问题描述】:
def mergesort(a):
if len(a)<=1:
return a
else:
mid=len(a)/2
mergesort(a[:mid])
mergesort(a[mid:])
auxa=[]
j=0
k=mid
while j<mid and k<len(a):
if a[j]<a[k]:
auxa.append(a[j])
j+=1
else:
auxa.append(a[k])
k+=1
if j==mid:
auxa.extend(a[k:])
if k==len(a):
auxa.extend(a[j:mid])
a=auxa
return a
testlist=[3,2,1]
print mergesort(testlist)
我得到的结果是 2 1 3
非常感谢任何帮助,谢谢!
【问题讨论】:
-
不要忽略内部
mergesort()调用的返回值