如何用c++写一个链表
时间: 2024-09-23 21:10:01 浏览: 36
在C++中,创建一个简单的单向链表通常涉及以下几个步骤:
1. **定义节点结构**:
```cpp
struct Node {
int data; // 节点数据
Node* next; // 指向下一个节点的指针
Node(int value) : data(value), next(nullptr) {} // 构造函数,初始化数据和next为nullptr
};
```
2. **创建链表类**:
```cpp
class LinkedList {
private:
Node* head; // 链表头节点
public:
LinkedList() : head(nullptr) {} // 构造函数,初始化空链表
~LinkedList(); // 析构函数,删除链表
void push_back(int value); // 在链表末尾添加元素
// 其他链表操作,如插入、删除、遍历等...
};
```
3. **实现链表功能**:
```cpp
// 添加元素到末尾
void LinkedList::push_back(int value) {
Node* newNode = new Node(value);
if (head == nullptr) {
head = newNode;
} else {
Node* current = head;
while (current->next != nullptr) {
current = current->next;
}
current->next = newNode;
}
}
// 简化的析构函数,这里仅简单地释放所有节点,实际应用需更复杂处理
LinkedList::~LinkedList() {
Node* temp = head;
while (temp) {
Node* nextNode = temp->next;
delete temp;
temp = nextNode;
}
}
```
4. **链表的使用**:
```cpp
int main() {
LinkedList list;
list.push_back(1);
list.push_back(2);
list.push_back(3);
// 遍历链表并打印节点值
Node* currentNode = list.head;
while (currentNode != nullptr) {
std::cout << currentNode->data << " ";
currentNode = currentNode->next;
}
return 0;
}
```