单链表基本操作C++
时间: 2024-10-05 19:01:55 浏览: 36
单链表是一种线性数据结构,其中的元素通过指针连接形成一个序列,每个节点包含数据和指向下一个节点的指针。在C++中,对单链表的基本操作包括:
1. **创建节点** (Node initialization):
使用`struct Node`或`class Node`定义一个节点,包含`data`(存储数据)和`next`(指向下一个节点的指针)。
```cpp
struct Node {
int data;
Node* next; // 指向下一个节点的指针
};
```
2. **初始化链表** (Empty list or adding elements):
- 创建空链表:`Node* head = nullptr;`
- 插入新节点:`head = new Node{value, head};`
3. **访问和修改元素** (Traversal and modification):
- 访问指定位置的数据:`Node* current = head; for (int i = 0; i < index && current != nullptr; ++i) {current = current->next;}`
- 修改节点值:`current->data = newValue;`
4. **查找** (Search):
`Node* find(int value) { Node* current = head; while (current != nullptr) { if (current->data == value) return current; current = current->next; } return nullptr;}`
5. **插入和删除** (Insertion and deletion):
- 在链表开头插入:`new Node{value, head}; head = head->next;`
- 删除节点:`if (current->next != nullptr) current->next = current->next->next; else delete current;`
6. **遍历** (Traversal):
- 使用while循环遍历:`for (Node* current = head; current != nullptr; current = current->next) { // process each node }`
阅读全文