HeadNode->next = NULL;
时间: 2023-12-19 13:05:15 浏览: 162
`HeadNode->next = NULL;` 是链表初始化的一种方式,它的作用是将链表的头节点的 next 指针指向 NULL,表示链表为空链表。
在使用链表时,我们通常会定义一个头节点(也称为哨兵节点),它不存储任何数据,只作为链表的起始位置,方便链表的操作。当链表为空时,头节点的 next 指针指向 NULL。
下面是一个简单的链表结构体定义,其中定义了头节点:
```c++
struct ListNode {
int val;
ListNode *next;
ListNode(int x) : val(x), next(NULL) {}
};
struct LinkedList {
ListNode *head; // 头节点
// 构造函数,初始化头节点
LinkedList() {
head = new ListNode(0);
head->next = NULL;
}
// 在链表头部插入节点
void insert(int val) {
ListNode *newNode = new ListNode(val);
newNode->next = head->next;
head->next = newNode;
}
// 输出链表节点值
void print() {
ListNode *cur = head->next;
while (cur) {
cout << cur->val << " ";
cur = cur->next;
}
cout << endl;
}
};
```
在 LinkedList 的构造函数中,我们初始化了头节点,并将头节点的 next 指针指向 NULL。这样,当我们创建一个空链表时,头节点的 next 指针就指向 NULL,表示链表为空。在 insert 函数中,我们通过表头插入法在链表头部插入节点,因为头节点的 next 指针一开始指向 NULL,所以第一次插入的节点就成为了链表的第一个节点。在 print 函数中,我们从头节点的 next 指针开始遍历链表,输出每个节点的值。
阅读全文