设 ha=(a1,a2,…,an)和 hb=(b1,b2, …,bm) 是两个带头结点的循环单链表。设计一个算法将这两个表合并为带头结点的循环单链表 hc。
我的代码
#include
#include
#include"linkList.cpp"
void Merge(LNode*&ha,LNode*&hb,LNode*&hc)
{
LNode*p=ha->next;
hc=ha;
while(p->next!=ha)
p=p->next;
p->next=hb->next;
while(p->next!=hb)
p=p->next;
p->next=hc;
free(hb);
}
int main()
{
LNode*ha;LNode*hb;LNode*hc;
ElemType a[]={1,2,3};
CreateListR(ha,a,3);
printf("ha: ");
DispList(ha);
DestroyList(ha);
ElemType b[]={4,5,6};
CreateListR(hb,b,3);
printf("hb: ");
DispList(hb);
DestroyList(hb);
Merge(ha,hb,hc);
printf("输出: ");
DispList(hc);
DestroyList(hc);
return 0;
}
我的程序显示没有错误,但是运行不出结果?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- 小学狗喵喵叫 2020-03-30 17:30关注
void Merge(LNode*&ha,LNode*&hb,LNode*&hc) { LNode*p=ha; hc=ha; while(p->next!=ha) p=p->next; p->next=hb; p=hb; while(p->next!=hb) p=p->next; p->next=hc; }
解决 无用评论 打赏 举报