实现单链表的定义并创建带头结点的单链表
时间: 2024-06-15 10:07:22 浏览: 139
单链表是一种常见的数据结构,它由一系列节点组成,每个节点包含两部分:数据域和指针域。数据域用于存储具体的数据,指针域用于指向下一个节点。
在实现单链表时,可以引入一个头结点,它不存储具体的数据,只作为链表的起始点。头结点的指针域指向第一个真正存储数据的节点。
以下是实现带头结点的单链表的定义和创建过程:
```cpp
// 定义单链表节点结构
struct ListNode {
int data; // 数据域
ListNode* next; // 指针域,指向下一个节点
};
// 创建带头结点的单链表
ListNode* createLinkedList() {
ListNode* head = new ListNode(); // 创建头结点
head->next = nullptr; // 头结点的指针域置空
int n; // 输入节点个数
cout << "请输入节点个数:";
cin >> n;
ListNode* cur = head; // 当前节点指针
for (int i = 0; i < n; i++) {
int value;
cout << "请输入第" << i + 1 << "个节点的值:";
cin >> value;
ListNode* newNode = new ListNode(); // 创建新节点
newNode->data = value; // 设置新节点的数据域
newNode->next = nullptr; // 新节点的指针域置空
cur->next = newNode; // 当前节点的指针域指向新节点
cur = newNode; // 当前节点指针后移
}
return head;
}
```
以上是创建带头结点的单链表的定义和创建过程。
阅读全文