题目
有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。
分析
直接从i开始比较,插入的数字要是在两个列表的元素中间,显然可以作差,相乘小于0,注意特别小或者特别大的特殊情况。
实现
list=[1,2,3,4,6,7,8,9]
print(list)
n=int(input("please input the tnserted num:"))
if n>list[0] and n<list[len(list)-1]:
for i in range(0,len(list)-1):
if (list[i]-n)*(list[i+1]-n)<0:
list.insert(i+1,n)
elif n<list[0]:
list.insert(0,n)
else:
list.insert(len(list),n)
print("\n{}".format(list))