写一个insert函数实现向一个动态链表插入结点代码
时间: 2024-05-08 11:21:33 浏览: 117
链表插入结点算法
下面是一个简单的 C++ 实现插入结点到动态链表的代码:
```cpp
class ListNode {
public:
int val;
ListNode* next;
ListNode(int x) : val(x), next(nullptr) {}
};
void insert(ListNode*& head, int val) {
ListNode* newNode = new ListNode(val);
if (head == nullptr) {
head = newNode;
} else {
ListNode* cur = head;
while (cur->next != nullptr) {
cur = cur->next;
}
cur->next = newNode;
}
}
```
其中,`ListNode` 是链表结点的定义,由一个整数值 `val` 和指向下一个结点的指针 `next` 组成。`insert` 函数接收一个指向链表头结点的指针 `head` 和一个整数值 `val`,将新结点插入到链表末尾。如果链表为空,直接将新结点设置为头结点;否则,遍历链表找到最后一个结点,将新结点插入到其后面。注意要使用引用传递来修改头结点的指针。
阅读全文