【萌新求助】python自底向上排序算法的实现

东京的雨不停地下 2019-09-08 02:38:23
萌新初入python。。想实现bottom-up sort算法。。结果出错了。。有大佬指点一下吗
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("按回车键结束")

...全文
148 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
手无护鸡之力 2019-09-09
  • 打赏
  • 举报
回复
有这个算法吗?没听说过 你是想从后往前排吧? 自右向左 先排大的后排小的?

37,718

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧