nickxj


私信TA

用户名:dotcpp0615219

访问量:1100

签 名:

等  级
排  名 6433
经  验 1419
参赛次数 0
文章发表 23
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

题目有点问题,所以输出格式比较乱


n=int(input())
a=list(map(int,input().split()))
A=[]
# print(n)输出测试
# print(a)输出测试
for i in range(n):
   print("Insert element[%d]:"%(i+1))
   A.append(a[i])
   if n==5:
       print("Init:",end="")
   else:
       print("  Init:",end="")
   for j in range(len(A)):
       if j!=len(A)-1:
           print(A[j],end=" ")
       else:
           print(A[j],end="")
   print()
   temp=A[i]#记录最新插入的数字
   x=i#记录轮次
   # print(x,temp) 输出测试
   while x>=1 and temp<A[x-1]:#第一轮就是用A[x]与A[x-1]比,逐轮走下去
       A[x]=A[x-1]#进行覆盖移动
       if n==5 and i!=n-1:
           print("Move back:",end="")
       elif n==5 and i==n-1:
           print("Move  back:",end="")
       else:
           print("  Move back:",end="")
       for j in range(len(A)):
           if j != len(A) - 1:
               print(A[j], end=" ")
           else:
               print(A[j], end="")
       print()
       x=x-1
   A[x] = temp#走完循环后 找到下标x,进行插入
   if n==5:
       print("Final:",end="")
   else:
       print("  Final:",end="")
   for j in range(len(A)):
       if j != len(A) - 1:
           print(A[j], end=" ")
       else:
           print(A[j], end="")
   print()

 

0.0分

0 人评分

  评论区

  • «
  • »