Status LinkList Inser(LinkList &L, int i, ElemType e)
时间: 2024-06-12 13:09:18 浏览: 120
LinkList的实现
函数 `Status LinkListInser(LinkList &L, int i, ElemType e)` 的作用是在链表 L 的第 i 个位置插入元素 e。具体实现如下:
```c++
Status LinkListInsert(LinkList &L, int i, ElemType e) {
if (i < 1 || i > ListLength(L) + 1) { // 判断 i 的合法性
return ERROR;
}
LinkNode *p = L; // p 指向头结点
int j = 0;
while (p && j < i - 1) { // 寻找插入位置的前驱结点
p = p->next;
j++;
}
if (!p || j > i - 1) { // i 超出链表长度或小于1
return ERROR;
}
LinkNode *new_node = (LinkNode *)malloc(sizeof(LinkNode)); // 创建新结点
new_node->data = e;
new_node->next = p->next; // 插入新结点
p->next = new_node;
return OK;
}
```
阅读全文