用cpp生成一个单链表
时间: 2024-09-10 15:17:50 浏览: 27
在C++中生成一个单链表需要定义一个节点类(或结构体)和一个链表类(或使用指针数组)。下面是一个基本的单链表实现的示例代码:
```cpp
#include <iostream>
// 定义链表节点
struct ListNode {
int value; // 节点存储的数据
ListNode* next; // 指向下一个节点的指针
// 构造函数
ListNode(int x) : value(x), next(nullptr) {}
};
// 定义单链表类
class LinkedList {
private:
ListNode* head; // 指向链表头节点的指针
public:
// 构造函数和析构函数
LinkedList() : head(nullptr) {}
~LinkedList() {
ListNode* current = head;
while (current != nullptr) {
ListNode* next = current->next;
delete current;
current = next;
}
}
// 在链表头部添加节点
void addAtHead(int value) {
ListNode* newNode = new ListNode(value);
newNode->next = head;
head = newNode;
}
// 打印链表中的所有元素
void printList() {
ListNode* current = head;
while (current != nullptr) {
std::cout << current->value << " -> ";
current = current->next;
}
std::cout << "nullptr" << std::endl;
}
// 其他链表操作,如插入、删除等可以继续添加
};
int main() {
LinkedList list;
// 向链表添加元素
list.addAtHead(3);
list.addAtHead(2);
list.addAtHead(1);
// 打印链表
list.printList();
return 0;
}
```
这段代码展示了如何创建一个简单的单链表,包括节点类`ListNode`和链表类`LinkedList`。链表类中包含了添加节点到头部的方法`addAtHead`和打印链表的方法`printList`。`main`函数中创建了一个`LinkedList`对象,并向其中添加了几个节点,然后打印出链表的内容。