中易网

链表结构中如何创建一个头结点?

答案:2  悬赏:0  
解决时间 2021-04-09 19:47
struct node *creat(struct node *head)
{
struct node *q,*p;
int i;
for(i=1;i<=N;i++)
{
q=(struct node *)malloc(sizeof(struct node));//用q接收首地址,此时q指向了struct的开头
printf("please input NO.%d student's name:\n",i);
fflush(stdin);
gets(q->name);
printf("please input NO.%d student's birthday:\n",i);
scanf("%d",&q->birthday);
printf("please input NO.%d student's physics, math and English's score:\n",i);
scanf("%d%d%d",&q->p,&q->m,&q->e);
printf("please input NO.%d student's num:\n",i);
scanf("%d",&q->num);
q->next=NULL;
if(head==NULL)
head=q;
else p->next=q;
p=q;
}
return head;
}

我这样的创建链表,是不是不含有头结点
最佳答案
有啊,但是建议不要这么写,不简洁,你采纳我给你简洁版的
谢谢
全部回答
链表你是非顺序存储结构。 因为数据结构是数据对象+关系 所以它必须在每个节点中包含数据元素(数据域)和它的关系(即指针域) 链表中的第一个元素就是它的第一个节点。 为了方便链表的操作,这里引入了头结点和头指针 所谓头结点就是在第一个节点前的节点,它不存放数据,仅仅存放第一个节点的地址。 而头指针就是指向第一个节点的指针,也就是说是第一个节点的地址 还有一个概念叫做头结点指针 是指向头结点的指针 它们的关系很好理解 比如 定义一个头节点指针phead 都指针p 则有p=phead->pnext
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
南郊煤炭交易市场这个地址在什么地方,我要处
htc t329d闪黄灯开不开机
渝北区木耳中心小学校地址有知道的么?有点事
小说女主毕业后去学跆拳道与总裁男主第一次见
我是在外省,可以找代理人,帮换驾驶证吗?
为什么润年明明多一个月怎么才有三百六十六天
苏州短期住宿哪里比较好?
这个人说是韩后的一级代理商,真不真是不是骗
张寨镇地址在哪,我要去那里办事
我把一个女生删了,隔了十几天她又把我加起,说
为什么联通卡在空中网了之后不能用,
为何古代人个子都很高?
2011年天津市退役的三级士官还可以转业吗?
聚丰楼在哪里啊,我有事要去这个地方
李准基日本名字怎么写
推荐资讯
好久没踢球了 踢球后发现两个大脚趾指甲变紫
好再来盲人按摩怎么去啊,有知道地址的么
下四屯河滩地址在什么地方,想过去办事
老明路/联强路(路口)在哪里啊,我有事要去这
robotstudio online
平顶山小学生报哪家英语培训机构好
孔城老街在哪里?桐城孔城老街怎么去?
恒温恒压下,在2molN2和6molH2反应达到平衡的
the socket server is already running 开机
九丽百货超市地址在什么地方,想过去办事
清平乐 村居改写成350字的短文 速度
淘宝宝贝不见了
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?