在顺序表L中第i个位置之前插入数据元素e的代码
时间: 2024-10-09 18:08:49 浏览: 21
在顺序表(数组或链表)中插入一个新元素通常需要将该元素插入到指定位置,并可能需要移动后续的元素。这里假设我们有一个简单的单向链表作为例子:
```python
class ListNode:
def __init__(self, data=0, next=None):
self.data = data
self.next = next
def insert_at_index(L, i, e):
# 如果索引越界或者列表为空
if i < 0 or not L:
return "Invalid index"
# 创建一个新的节点
new_node = ListNode(e)
# 如果索引为0,直接将新节点设置为头节点
if i == 0:
new_node.next = L
L = new_node
else:
# 遍历到第i个节点
current = L
for _ in range(i - 1):
current = current.next
# 将新节点插入到当前节点之后
new_node.next = current.next
current.next = new_node
# 示例:
L = [1, 2, 3] # 初始顺序表
insert_at_index(L, 1, 4) # 插入4到第二个位置,结果变成[1, 4, 2, 3]
```