c++编写一个链表类,并生成一个对象
时间: 2024-09-19 19:01:14 浏览: 9
在C++中,我们可以创建一个简单的单向链表类,包括节点结构体和链表类的基本操作,如插入、删除和遍历。下面是一个基础的链表类和节点类的示例:
```cpp
// 链表节点定义
class Node {
public:
int data; // 节点存储的数据
Node* next; // 指向下一颗节点
Node(int value) : data(value), next(nullptr) {} // 构造函数
};
// 链表类定义
class LinkedList {
private:
Node* head; // 头节点
public:
LinkedList() : head(nullptr) {} // 构造函数,初始化为空链表
~LinkedList(); // 析构函数,用于清理内存
void insertAtEnd(int value); // 在链表末尾插入节点
void display(); // 显示链表中的所有元素
};
// 插入节点到链表末尾
void LinkedList::insertAtEnd(int value) {
if (head == nullptr) {
head = new Node(value);
} else {
Node* current = head;
while (current->next != nullptr) {
current = current->next;
}
current->next = new Node(value);
}
}
// 显示链表
void LinkedList::display() {
Node* temp = head;
while (temp != nullptr) {
std::cout << temp->data << " ";
temp = temp->next;
}
std::cout << "\n";
}
// 析构函数,释放内存
LinkedList::~LinkedList() {
Node* current = head;
while (current != nullptr) {
Node* temp = current;
current = current->next;
delete temp;
}
head = nullptr;
}
int main() {
LinkedList list;
list.insertAtEnd(10);
list.insertAtEnd(20);
list.insertAtEnd(30);
std::cout << "Linked List Elements:\n";
list.display();
return 0;
}
```
在这个例子中,我们首先定义了`Node`类表示链表中的每个节点,然后在`LinkedList`类中包含了对这些节点的操作。在`main`函数中,我们创建了一个`LinkedList`对象并插入了一些数据,最后展示了链表的内容。