创建一个带头结点的单链表
时间: 2023-10-19 15:05:44 浏览: 71
好的,以下是创建一个带头节点的单链表的代码:
```cpp
#include <stdio.h>
#include <stdlib.h>
// 定义链表节点结构体
struct ListNode {
int val; // 存储节点的值
struct ListNode *next; // 指向下一个节点的指针
};
// 创建链表函数,n 为链表节点数目
struct ListNode* createList(int n) {
struct ListNode *head = (struct ListNode*)malloc(sizeof(struct ListNode));
head->val = 0;
head->next = NULL;
struct ListNode *cur = head;
for (int i = 0; i < n; i++) {
struct ListNode *node = (struct ListNode*)malloc(sizeof(struct ListNode));
node->val = i + 1;
node->next = NULL;
cur->next = node;
cur = cur->next;
}
return head;
}
// 遍历链表函数
void traverseList(struct ListNode *head) {
struct ListNode *cur = head->next;
while (cur != NULL) {
printf("%d ", cur->val);
cur = cur->next;
}
printf("\n");
}
int main() {
int n = 5; // 创建 5 个节点的链表
struct ListNode *head = createList(n);
traverseList(head); // 遍历链表并输出
return 0;
}
```
以上代码实现了创建一个带头节点的单链表,并且输出该链表的元素值。
阅读全文