创建一个函数create(),实现无头结点的链表,有m个结点,函数的返回值为链表的头指针。
时间: 2023-04-24 08:07:02 浏览: 240
好的,下面是函数create()的实现:
```
#include <stdio.h>
#include <stdlib.h>
typedef struct node {
int data;
struct node *next;
} Node;
Node *create(int m) {
Node *head = NULL; // 头指针初始化为NULL
Node *p = NULL; // 指向新创建的结点
int i;
for (i = ; i < m; i++) {
p = (Node *)malloc(sizeof(Node)); // 创建新结点
printf("请输入第%d个结点的值:", i+1);
scanf("%d", &(p->data));
p->next = head; // 新结点插入链表头部
head = p; // 更新头指针
}
return head; // 返回链表头指针
}
int main() {
int m;
Node *head = NULL;
printf("请输入链表的结点个数:");
scanf("%d", &m);
head = create(m);
printf("链表的头指针为:%p\n", head);
return ;
}
```
函数create()的作用是创建一个无头结点的链表,共有m个结点。函数的返回值为链表的头指针。在函数中,我们首先将头指针初始化为NULL,然后循环m次,每次创建一个新结点,并将其插入链表头部。最后返回链表的头指针。
在主函数中,我们先输入链表的结点个数m,然后调用create()函数创建链表,并将返回的头指针赋值给变量head。最后输出链表的头指针。
希望能对您有所帮助!
阅读全文