头歌平台数据结构与算法c++单链表基本操作
时间: 2024-09-27 14:16:56 浏览: 61
头节点是指单链表中第一个元素,它包含链表的基本信息,如链表的长度、值等,但通常不存储实际的数据元素。在C++中,单链表是一种动态数据结构,其基本操作主要包括:
1. **创建链表**:创建一个新的链表并设置头节点。例如:
```cpp
struct ListNode {
int val;
ListNode* next;
ListNode(int x) : val(x), next(NULL) {}
};
ListNode* head = new ListNode(0); // 创建空链表,head指向初始节点
```
2. **插入元素**:在指定位置插入新的节点。例如,在头部插入:
```cpp
ListNode* newNode = new ListNode(newVal);
newNode->next = head;
head = newNode;
```
3. **删除元素**:移除特定节点或满足某个条件的节点。例如,删除头节点:
```cpp
if (head != NULL && head->val == targetVal) {
ListNode* temp = head;
head = head->next;
delete temp; // 释放内存
}
```
4. **查找元素**:遍历链表直到找到目标节点。例如:
```cpp
ListNode* searchNode = head;
while (searchNode != NULL && searchNode->val != targetVal) {
searchNode = searchNode->next;
}
```
5. **遍历链表**:通过当前节点访问所有元素。
```cpp
ListNode* current = head;
while (current != NULL) {
// 访问当前节点
std::cout << current->val << " ";
current = current->next;
}
```
阅读全文