37,718
社区成员
发帖
与我相关
我的任务
分享
def MERGE(A,p,q,r):
s = p; t = q + 1; k = p;
B = [range(p,r)]
while s <= q and t <= r:
if A[s] <= A[t]:
B[k] = A[s]
s = s + 1
else:
B[k] = A[t]
t = t + 1
k = k + 1
if s == q + 1:
B = A[t:r+1]
else:
B = A[s:q+1]
A[p:r] = B[p:r]
A = [8,1,7,2,6,3,5,4]
t = 1
while t < 8:
s = t; t = 2 * s; i = 0
while i + t <= 8:
MERGE(A,i+1,i+s,i+t)
i = i + t
if i + s < 8:
MERGE(A,i+1,i+s,8)
for a in range(8):
print(A[a],end=" ")
print(" ")
input("按回车键结束")