c++中链表结构体的实现
时间: 2024-09-15 12:03:53 浏览: 73
在C++中,链表是一种常见的数据结构,它由一系列节点组成,每个节点包含数据部分和指向下一个节点的指针。链表结构体的实现通常包括两个部分:节点结构体(Node)和链表类(LinkedList)。下面是一个简单的单向链表实现示例:
```cpp
#include <iostream>
// 定义节点结构体
struct Node {
int data; // 数据域
Node* next; // 指针域,指向下一个节点
// 节点构造函数
Node(int d) : data(d), next(nullptr) {}
};
// 定义链表类
class LinkedList {
private:
Node* head; // 链表头指针
public:
// 链表构造函数
LinkedList() : head(nullptr) {}
// 链表析构函数,用于释放链表内存
~LinkedList() {
clear();
}
// 在链表头部插入节点
void insertAtHead(int d) {
Node* newNode = new Node(d);
newNode->next = head;
head = newNode;
}
// 打印链表所有元素
void printList() {
Node* current = head;
while (current != nullptr) {
std::cout << current->data << " ";
current = current->next;
}
std::cout << std::endl;
}
// 清空链表
void clear() {
Node* current = head;
while (current != nullptr) {
Node* next = current->next;
delete current;
current = next;
}
head = nullptr;
}
};
int main() {
LinkedList list;
list.insertAtHead(1);
list.insertAtHead(2);
list.insertAtHead(3);
list.printList(); // 输出: 3 2 1
return 0;
}
```
在这个简单的例子中,我们定义了一个节点结构体`Node`,它包含一个`int`类型的数据和一个指向下一个`Node`的指针。然后我们定义了一个`LinkedList`类,它包含了一个指向链表头节点的指针`head`。`LinkedList`类提供了插入节点到链表头部、打印链表和清除链表的方法。
阅读全文
相关推荐
















