C++中定义一个链表
时间: 2024-08-30 19:03:18 浏览: 31
在C++中,链表是一种数据结构,它由一系列节点组成,每个节点包含数据元素和指向下一个节点的指针。链表并不像数组那样连续存储数据,因此访问速度通常较慢,但是插入和删除元素操作却更为高效。
以下是创建简单单向链表的基本步骤:
1. 定义链表节点(Node)结构体:
```cpp
struct Node {
int data; // 节点的数据
Node* next; // 指向下一個节点的指针
};
```
2. 创建链表头节点(head)并初始化为空:
```cpp
Node* head = nullptr;
```
3. 插入新节点:
```cpp
void insert(int value) {
Node* newNode = new Node(); // 创建新节点
newNode->data = value;
newNode->next = head; // 将新节点连接到头部
if (head != nullptr) { // 链表非空
head = newNode; // 更新头节点
} else {
head = newNode; // 初始插入
}
}
```
4. 删除节点(假设要删除值为`value`的节点):
```cpp
void remove(int value) {
if (head == nullptr) return; // 空链表
Node* current = head;
if (current->data == value) {
Node* temp = head;
head = head->next;
delete temp; // 删除当前节点
return;
}
while (current->next != nullptr && current->next->data != value) {
current = current->next;
}
if (current->next != nullptr) {
Node* temp = current->next;
current->next = current->next->next;
delete temp; // 删除找到的节点
}
}
```