c++使用尾插法创建链表
时间: 2024-09-14 22:01:00 浏览: 40
在 C++ 中,尾插法是一种用于动态创建链表的高效方法,它通过在已存在的链表末尾添加新节点的方式来逐渐构建链表。这种方法的优点在于不需要预先分配大量的内存空间,适合处理不确定大小的数据集合。
以下是尾插法创建链表的基本步骤:
1. 定义链表节点结构体(Node),通常包含两个成员变量:数据(data)和指向下一个节点的指针(next)。
```cpp
struct Node {
int data;
Node* next; // 指向下一个节点的指针
};
```
2. 创建一个函数(例如 `addNode` 或者 `pushBack`),接受新数据作为参数,并在当前链表尾部插入一个新的节点。
```cpp
void insertAtEnd(Node** head, int data) {
if (*head == nullptr) { // 如果链表为空
*head = new Node();
(*head)->data = data;
(*head)->next = nullptr;
} else { // 链表非空,从头开始遍历到末尾
Node* current = *head;
while (current->next != nullptr) {
current = current->next;
}
current->next = new Node(); // 在末尾插入新节点
current->next->data = data;
current->next->next = nullptr; // 更新最后一个节点的 next 指针
}
}
```
3. 使用时,只需要传递链表头指针给上述函数即可。
阅读全文