2、 试写一个算法,在带头结点的单链表L的元素x前插入一个结点y
时间: 2024-03-23 10:38:28 浏览: 60
3-2 试编写一个算法,在带表头结点的单链表中寻找第i个结点.doc
算法如下:
1. 创建一个新结点y,将y的数据域设置为x。
2. 遍历链表L,找到元素x所在的结点p和其前驱结点pre。
3. 将pre的next指针指向y,将y的next指针指向p。
4. 返回修改后的链表L。
C++代码实现如下:
```c++
void insertNode(ListNode* L, int x, int y) {
ListNode* p = L->next;
ListNode* pre = L;
while (p != NULL && p->data != x) {
pre = p;
p = p->next;
}
ListNode* newNode = new ListNode(y);
pre->next = newNode;
newNode->next = p;
}
```
阅读全文