定义单链表类LinkList并实现了基本操作后程序中就可以用类 LinkList来定义单链表变量可以调用实现基本操作的函数来完成相应的功能的范例C++实现
时间: 2024-09-11 15:04:17 浏览: 47
使用单链表实现多项式计算示例
在C++中,我们可以创建一个名为`LinkList`的单链表类,包含节点数据结构、头指针以及常用的基本操作如插入、删除和遍历等。以下是简单的单链表实现:
```cpp
#include <iostream>
// 节点结构体
struct Node {
int data; // 数据域
Node* next; // 指向下一个节点的指针
};
class LinkList {
public:
// 构造函数,初始化空链表
LinkList() : head(nullptr) {}
// 插入节点到链表头部
void insert(int value) {
Node* newNode = new Node{value};
newNode->next = head;
head = newNode;
}
// 删除指定值的第一个节点
void remove(int value) {
if (head == nullptr) return;
if (head->data == value) {
Node* temp = head;
head = head->next;
delete temp;
return;
}
Node* curr = head;
while (curr->next != nullptr && curr->next->data != value)
curr = curr->next;
if (curr->next != nullptr)
curr->next = curr->next->next;
else
std::cout << "Value not found in the list." << std::endl;
}
// 遍历并打印链表
void display() const {
Node* temp = head;
while (temp != nullptr) {
std::cout << temp->data << " ";
temp = temp->next;
}
std::cout << "\n";
}
private:
Node* head; // 链表头节点
};
int main() {
LinkList myList;
myList.insert(5);
myList.insert(2);
myList.insert(8);
std::cout << "Original list: ";
myList.display();
myList.remove(2);
std::cout << "After removing 2: ";
myList.display();
return 0;
}
```
在这个例子中,我们首先定义了`Node`结构体存储数据和指向下一个节点的指针。然后在`LinkList`类中实现了插入、删除和显示链表的操作。在`main()`函数中,我们创建了一个`LinkList`实例,并演示了如何使用这些操作。
阅读全文