完整的写一段后插入法建立单向加头链表的C++代码
时间: 2024-10-20 12:12:08 浏览: 39
C++指针和链表在项目开发中的实战应用
当然,下面是一个简单的C++代码示例,展示了如何使用后插入法(即尾插法)创建一个单向加头结点的链表:
```cpp
#include <iostream>
// 定义链表节点结构
struct Node {
int data;
Node* next; // 指向下一个节点的指针
Node(int val) : data(val), next(nullptr) {} // 构造函数,初始化值和next指针
};
// 创建一个新的链表节点并添加到链表尾部
Node* insertAtEnd(Node* head, int value) {
if (head == nullptr) { // 如果链表为空,直接创建新节点作为头结点
return new Node(value);
}
// 否则遍历到链表尾部并插入新节点
Node* current = head;
while (current->next != nullptr) {
current = current->next;
}
current->next = new Node(value); // 插入新节点
return head; // 返回头结点
}
int main() {
Node* listHead = nullptr;
listHead = insertAtEnd(listHead, 1);
insertAtEnd(listHead, 2);
insertAtEnd(listHead, 3);
Node* temp = listHead;
while (temp != nullptr) {
std::cout << temp->data << " ";
temp = temp->next;
}
std::cout << "\n";
return 0;
}
```
在这个代码中,`insertAtEnd` 函数用于在链表末尾添加新元素,如果链表为空,则创建新链表。然后在`main`函数中测试了这个功能。
阅读全文