算法步骤:
- 第一个元素看做已排序,从左往右遍历每一个元素:
- 在已排序元素中从后往前扫描:如果当前元素大于新元素,则该元素移动到后一位
- 重复第二步直至找到小于等于新元素则停止
n=int(input())
a=list(map(int,input().split()))
for i in range(1,n):
value = a[i]
#插入元素的下标
insert_idx = 0
for j in range(i-1,-1,-1):
#i-1:起点是i-1
#第一个-1:终点是0 第二个-1:步长是-1
if a[j] > value:
a[j+1] = a[j]
#往后挪
else:
insert_idx = j+1
break
#插入第i个数字
a[insert_idx] = value
print(' '.join(map(str,a)))
#仅供本人知识归纳