Creat_LinkList()函数是使用头插法建立一个带头节点的单链表。函数须返回单链表的头指针,空链表须返回NULL。
时间: 2023-07-15 10:15:37 浏览: 126
以下是使用头插法建立带头节点的单链表的代码实现:
```c
#include <stdio.h>
#include <stdlib.h>
typedef struct Node {
int data;
struct Node *next;
} Node;
Node *Create_LinkList() {
Node *head = (Node *)malloc(sizeof(Node)); // 创建头节点
head->next = NULL; // 头节点指向空
Node *p = head; // p指向头节点,初始为空链表
int x;
while (scanf("%d", &x) != EOF) { // 输入数据,以EOF结束
Node *new_node = (Node *)malloc(sizeof(Node)); // 创建新节点
new_node->data = x; // 新节点赋值
new_node->next = p->next; // 将新节点插入到头节点之后
p->next = new_node;
}
return head; // 返回头指针
}
int main() {
Node *head = Create_LinkList(); // 建立带头节点的单链表
Node *p = head->next; // p指向第一个节点
while (p != NULL) { // 遍历单链表
printf("%d ", p->data);
p = p->next;
}
printf("\n");
return 0;
}
```
上述代码中,首先创建头节点并将其next指针指向NULL,然后用p指针指向头节点,表示初始为空链表。接着,通过循环输入数据,每输入一个数据就创建一个新节点,并将其插入到链表的头部。最后返回头指针即可。
需要注意的是,由于头节点不存储数据,因此在输出链表时应从头节点的next指针开始遍历。
阅读全文