设一带头结点的单链表
时间: 2024-06-15 09:09:55 浏览: 18
带头结点的单链表是一种常见的链表数据结构,它在链表的头部添加了一个额外的结点作为头结点,用于方便链表的操作和管理。头结点不存储任何实际的数据,仅用于指向链表的第一个真正的结点。
以下是一个带头结点的单链表的示例实现:
```cpp
// 定义链表结点
struct ListNode {
int val; // 存储的数据
ListNode* next; // 指向下一个结点的指针
};
// 创建带头结点的单链表
ListNode* createLinkedList() {
ListNode* head = new ListNode(); // 创建头结点
head->next = nullptr; // 头结点的next指针初始化为nullptr
return head;
}
// 在链表末尾插入新结点
void insertNode(ListNode* head, int val) {
ListNode* newNode = new ListNode(); // 创建新结点
newNode->val = val;
newNode->next = nullptr;
ListNode* cur = head;
while (cur->next != nullptr) {
cur = cur->next;
}
cur->next = newNode;
}
// 遍历打印链表
void printLinkedList(ListNode* head) {
ListNode* cur = head->next; // 从第一个真正的结点开始遍历
while (cur != nullptr) {
cout << cur->val << " ";
cur = cur->next;
}
cout << endl;
}
```
使用上述代码,你可以创建一个带头结点的单链表,并进行插入结点和打印链表的操作。