设顺序表L有100个元素,请编写算法, 实现以下的功能。(1)在第51号位置上插入一个新元素x。(2)删除第25号位置上的元素。
时间: 2024-09-14 08:07:05 浏览: 43
为了实现这两个功能,你可以采用双指针法以及动态数组的原理。这里给出一个简单的基于数组的顺序表实现:
首先,我们假设有一个长度为100的整型数组`L`表示顺序表。
**步骤1:在第51号位置插入元素x**
```python
def insert_at_index(L, x, index):
# 首先检查索引是否越界
if index < 0 or index > len(L):
print("Index out of range.")
return
# 将数组的所有元素向右移动一位
for i in range(len(L) - 1, index, -1): # 从最后一个元素开始移到新位置前一个
L[i] = L[i - 1]
# 在目标位置插入新元素
L[index] = x
# 调用函数插入元素x
insert_at_index(L, x, 50)
```
**步骤2:删除第25号位置的元素**
```python
def delete_at_index(L, index):
# 检查索引是否越界
if index < 0 or index >= len(L):
print("Index out of range.")
return
# 如果不是第一个元素,将前面的元素依次后移
if index != 0:
for i in range(index, len(L) - 1):
L[i] = L[i + 1]
# 最后一个元素直接减小长度
else:
L.pop()
# 调用函数删除第25号元素
delete_at_index(L, 24) # 注意数组下标从0开始计数,所以删除第25位实际上是第24位
```
阅读全文