用c++构造函数,创建一个带头节点的单链表
时间: 2024-10-10 21:00:45 浏览: 31
可视化的带头结点的单链表构造
在C++中,我们可以使用构造函数来创建一个带头结点的单链表。首先,我们需要定义一个链表节点结构体(Node),以及一个包含头节点指针的链表类(LinkedList)。以下是简单的实现:
```cpp
#include <iostream>
// 定义链表节点
struct Node {
int data;
Node* next; // 指向下一个节点的指针
Node(int value) : data(value), next(nullptr) {} // 构造函数,初始化数据和next指针
};
// 链表类,包含一个头节点
class LinkedList {
private:
Node* head;
public:
// 构造函数,创建一个空链表
LinkedList() : head(nullptr) {}
// 添加新元素到链表头部
void insertAtFront(int value) {
Node* newNode = new Node(value);
newNode->next = head;
head = newNode;
}
// 打印链表
void printList() {
Node* temp = head;
while (temp != nullptr) {
std::cout << temp->data << " -> ";
temp = temp->next;
}
std::cout << "nullptr\n";
}
};
int main() {
LinkedList list;
list.insertAtFront(5); // 插入一个值为5的节点
list.insertAtFront(3); // 再插入一个值为3的节点
list.printList(); // 输出链表内容
return 0;
}
```
在这个例子中,`LinkedList`的构造函数会自动创建一个空的链表。`insertAtFront`方法用于在链表头部添加新的节点,而`printList`则用于遍历链表并打印所有节点的数据。
阅读全文