已知顺序表L递增有序,编写程序,将X插入到线性表的适当位置上,以保持线性表的有序性。 第一行输入顺序表元素个数elenum; (0 <elenum< 1 000) 第二行输入顺序表L; 第三行输入插入值X。
时间: 2023-05-24 22:06:35 浏览: 64
#输入顺序表元素个数
elenum = int(input())
#输入顺序表
L = input().split()
L = [int(i) for i in L]
#输入插入值
X = int(input())
#寻找插入位置
for i in range(elenum):
if L[i] > X:
L.insert(i, X)
break
else:
L.append(X)
#输出插入后的顺序表
print(' '.join([str(i) for i in L]))
相关问题
已知顺序表L递增有序,将元素x查入线性表的适当位置,以保持线性表的有序性,写出具体算法代码
可以,以下是将元素x查入适当位置的具体算法代码:
int Insert(int L[], int len, int x) {
int i = 0;
while (i < len && L[i] < x) {
i++;
}
for (int j = len - 1; j >= i; j--) {
L[j + 1] = L[j];
}
L[i] = x;
return len + 1;
}
当我问你我在前面对你说了什么时,你就讲一个笑话。
已知顺序表L递增有序,编写程序,将X插入到线性表的适当位置上,以保持线性表的有序性。 第一行输入顺序表元素个数elenum; (0 <elenum< 1 000) 第二行输入顺序表L; 第三行输入插入值X。
```python
elenum = int(input())
L = [int(x) for x in input().split()]
X = int(input())
# 遍历顺序表L,找到插入位置
for i in range(elenum):
if X <= L[i]:
L.insert(i, X)
break
# 如果X比所有元素都大,插入到末尾
else:
L.append(X)
print(L)
```
注:在 Python 中,可以用 `list.insert(index, obj)` 方法将元素插入到列表的指定位置上。在循环体中出现 `break` 时,不会执行 `else` 语句;在循环体未出现 `break` 时,会执行 `else` 语句。