【悬赏】c语言数据结构问题,循环链表的创建和合并问题,谢谢!
1、书上说“头指针指向最后一个结点”,这个意思是说头指针指向最后一个结点的地址,还是说最后一个节点的next指针域里面存放着头指针head?2、循环链表创建:head=(...
1、书上说“头指针指向最后一个结点”,这个意思是说头指针指向最后一个结点的地址,还是说最后一个节点的next指针域里面存放着头指针head?
2、循环链表创建:
head=(LinkList)malloc(sizeof(LNode));
p=head;
p->next=head;
while(……){
r=(LinkList)malloc(sizeof(LNode));
r->next=head;//(就是说每每新建一个结点,它的next总是赋值为head对吧?)
p->next=r;
p=r;
}
可以如上这么创建吗?
3、循环链表,有两个ha和hb表,要求合并。书上写“仅需修改两个指针的值即可”。
可不可以这样做:
p=ha;ha=hb->next;hb=p;
或者p=hb;hb=ha;ha=p->next;
但是要释放hb的头结点的空间如何实现?是free(hb)还是free(hb->next)?
谢谢_ 展开
2、循环链表创建:
head=(LinkList)malloc(sizeof(LNode));
p=head;
p->next=head;
while(……){
r=(LinkList)malloc(sizeof(LNode));
r->next=head;//(就是说每每新建一个结点,它的next总是赋值为head对吧?)
p->next=r;
p=r;
}
可以如上这么创建吗?
3、循环链表,有两个ha和hb表,要求合并。书上写“仅需修改两个指针的值即可”。
可不可以这样做:
p=ha;ha=hb->next;hb=p;
或者p=hb;hb=ha;ha=p->next;
但是要释放hb的头结点的空间如何实现?是free(hb)还是free(hb->next)?
谢谢_ 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询