C++链表类
时间: 2023-07-10 12:14:02 浏览: 55
好的,下面是一个简单的 C++ 链表类的示例代码:
```c++
#include <iostream>
using namespace std;
class ListNode {
public:
int val;
ListNode* next;
ListNode(int x) : val(x), next(NULL) {}
};
class LinkedList {
public:
LinkedList() {
head = NULL;
}
~LinkedList() {
ListNode* curr = head;
while (curr != NULL) {
ListNode* temp = curr->next;
delete curr;
curr = temp;
}
head = NULL;
}
void add(int val) {
ListNode* node = new ListNode(val);
if (head == NULL) {
head = node;
} else {
ListNode* curr = head;
while (curr->next != NULL) {
curr = curr->next;
}
curr->next = node;
}
}
void print() {
ListNode* curr = head;
while (curr != NULL) {
cout << curr->val << " ";
curr = curr->next;
}
cout << endl;
}
private:
ListNode* head;
};
int main() {
LinkedList list;
list.add(1);
list.add(2);
list.add(3);
list.print();
return 0;
}
```
在这个示例代码中,我们定义了一个 `ListNode` 类,表示链表中的一个节点,包含一个 `int` 类型的值和一个指向下一个节点的指针。然后我们定义了一个 `LinkedList` 类,表示链表本身,包含一个指向链表头部的指针。我们可以通过 `add` 方法向链表中添加元素,通过 `print` 方法打印链表中的所有元素。在 `LinkedList` 类的析构函数中,我们确保释放链表中所有节点的内存。