def mergesort(seq):
mid=len(seq)//2
lft,rgt=seq[:mid],seq[mid:]
if len(lft)>1:lft=mergesort(lft)
if len(rgt)>1:rgt=mergesort(rgt)
res=[]
while lft and rgt:
if lft[-1]>=rgt[-1]:
res.append(lft.pop())
else:
res.append(rgt.pop())
res.reverse()
return (lft or rgt)+res
t=[2,45,6,3,1,4,6,8,2]
print mergesort(t)
我不懂 lft[-1]>=rgt[-1]是什么意思,之前没有见过这边lft[-1]表达啊,大神求解 啊
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
lft[-1]返回lft数组最后一个的值,比较lft和rgt的最后一个值,然后把比较大的那个pop到res里面去