我对合并排序感兴趣。我编写了合并步骤来按升序排序,它可以工作(请参阅下面的代码)。但当我试图调整代码,使其以递减的方式排序时,我做不到。我想把I和j颠倒过来,但似乎不起作用。有人有什么想法吗?你知道吗
def fusion(A,low,mid,high):
aux = [2,7,8,3,6,9]
i = low
j = mid+1
for k in range(low,high,1):
if i>mid:
A[k] = aux[j]
j = j+1
elif j > high:
A[k] = aux[i]
i = i+1
elif aux[i] <= aux[j]:
A[k] = aux[i]
i = i+1
else:
A[k] = aux[j]
j = j+1
return A
fusion([2,7,8,3,6,9],0,2,5)
输出是2,3,6,7,8,9,但是我想要9,8,7,6,3,2
以下是“反向”变体:
或者倒过来
range()
:或者只是。。。你知道吗
相关问题 更多 >
编程相关推荐