后插入法建立单向加头链表
时间: 2024-10-20 09:11:59 浏览: 21
后插入法(通常称为尾插法)是在创建单向链表时的一种常见操作,它允许你在链表的末尾轻松添加新的节点。这种方法简单直观,不需要遍历整个链表来找到最后一个节点。
以下是如何使用C++实现后插入法构建单向加头结点链表:
```cpp
// 定义链表节点结构
struct Node {
int data; // 节点数据
Node* next; // 指向下一个节点的指针,对于加头链表,这是指下一个实际元素,而不是头结点
};
// 创建新节点并添加到链表尾部
Node* insertAtEnd(Node*& head, int value) {
// 如果链表为空,直接创建头结点
if (head == nullptr) {
head = new Node();
head->data = value;
head->next = nullptr;
} else {
// 否则,遍历到最后一个节点并添加新节点
Node* current = head;
while (current->next != nullptr) {
current = current->next;
}
current->next = new Node();
current->next->data = value;
current->next->next = nullptr; // 新节点的下一个节点仍然是空,表示它是尾部
}
return head;
}
```
在这个实现中,`insertAtEnd`函数接受链表的头指针和要插入的新值。如果链表为空,就新建一个头结点;否则,沿着链表移动直到找到最后一个节点,然后在那里添加新节点。
阅读全文