讲一下单链表的建立的头插法
时间: 2024-09-19 18:04:11 浏览: 42
单链表的建立通常通过头插法(Head Insertion)来实现,这是一种在链表头部添加新节点的操作。以下是创建单链表的基本步骤:
1. **初始化**:首先,你需要定义一个链表结构,包含一个数据域 `data` 和一个指向下一个节点的指针 `next`。如果这是第一个节点,`next` 就是 `null`。
```c++
struct ListNode {
int data;
ListNode* next;
};
```
2. **创建新节点**:当有新元素需要插入时,会创建一个新的 `ListNode` 结构实例,并将其 `data` 设置为给定值,`next` 指针设置为当前的链表头 `head`。
```c++
ListNode* newNode(int value) {
ListNode* newNode = new ListNode();
newNode->data = value;
newNode->next = nullptr; // 如果是第一个节点
return newNode;
}
```
3. **头插法插入**:将新节点设置为头结点,即更新 `head` 指向新的节点。
```c++
void insertAtBegin(ListNode*& head, int value) {
if (head == nullptr) { // 空链表直接作为头结点
head = newNode(value);
} else {
newNode->next = head; // 新节点的 next 指向原头结点
head = newNode; // 更新头结点
}
}
```
阅读全文