编写一个完整的顺序表的元素,实现在第 i 个元素后插入 x
时间: 2024-05-05 16:19:43 浏览: 150
好的,以下是示例代码:
```python
class SequenceList:
def __init__(self, size=10):
self.max_size = size
self.cur_size = 0
self.data = [None] * self.max_size
def insert(self, i, x):
# 判断是否可以插入
if self.cur_size == self.max_size:
print("SequenceList is full!")
return False
if i < 1 or i > self.cur_size + 1:
print("Index is out of range!")
return False
# 将 i 之后的元素全部后移一位
for j in range(self.cur_size, i - 1, -1):
self.data[j] = self.data[j - 1]
# 在 i 位置插入 x
self.data[i - 1] = x
self.cur_size += 1
return True
```
其中,`max_size` 为顺序表的最大容量,`cur_size` 表示当前已有元素的个数,`data` 是存储元素的列表。
在 `insert` 方法中,首先判断是否可以插入,然后将第 `i` 个元素之后的所有元素向后移动一位,最后在第 `i` 个位置插入元素 `x`,并将 `cur_size` 加 1。
例如,如果已有顺序表 `seq_list`,想在第 3 个元素后插入元素 5,可以这样调用 `insert` 方法:
```python
seq_list = SequenceList()
seq_list.insert(3, 5)
```
阅读全文