为了账号安全,请及时绑定邮箱和手机立即绑定

关于链表的合并。

关于链表的合并。

C
Toxic憧憬 2016-03-12 17:26:54
struct student *merge(struct student *head, struct student *head2){    struct student *P;    P=head->next;    while(P!=NULL)    {        P=P->next;    }    P=head2;    return head;}这个是我的链表合并函数。struct student *merge(struct student *head, struct student *head2){    struct student *p;     p=head;     while(p->next!=NULL)     {        p=p->next;     }        p->next=head2;     return head;}这是答案。我的没有合并成功,但是我的P也指向了那个空的位置啊。为什么我的用P不可以? 而答案用P->next 却可以。
查看完整描述

1 回答

?
灼眼de菠萝包

TA贡献3条经验 获得超0个赞

你没有明白指针的实质。在你的算法里,p指向的是空位置,也就是说没有指向任何内存单元,当你执行了p=head2时,p就指向了head2头结点。但是,在链表1的尾节点中并没有存head2头结点的地址。实际上还是两条断开的链表。  建议你先搞明白指针到底是什么~ 

查看完整回答
反对 回复 2016-03-22
  • 1 回答
  • 1 关注
  • 1283 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号