
数据结构简单问题,求高手帮忙~~~
LinkListUnionLinkList(LinkList*head1,LinkList*head2)/*将两个循环单链表head1和head2连接在一起形成一个循环单...
LinkList UnionLinkList(LinkList *head1,LinkList *head2)
/*将两个循环单链表head1和head2连接在一起形成一个循环单链表*/
{
LinkList *p=head1->next,*q=head2->next,*head3,*s,*r;
head3=(LinkList *)malloc(sizeof(LinkList)); //初始化head3头结点
head3->next=NULL;
r=head3;
while(p->next!=head1)
{ s=(LinkList *)malloc(sizeof(LinkList));
s->data=p->data;
r->next=s;
s->next=NULL;
r=s;
p=p->next;
}
while(q->next!=head2)
{ s=(LinkList *)malloc(sizeof(LinkList));
s->data=q->data;
r->next=s;
s->next=NULL;
r=s;
}
r->next=head3; //r是合并后单链表的最后一个结点,再指向head3的头结点表成循环链表,这样的操作对吗?
return head3; //返回linklist类型的地址
}
------------------------------------分割线------------------------
求高手帮我看看程序有没有错误,我还想知道这样返回值为LinkList类型的怎么调用.....难为是LC=UnionLinkList(LA,LB)? 展开
/*将两个循环单链表head1和head2连接在一起形成一个循环单链表*/
{
LinkList *p=head1->next,*q=head2->next,*head3,*s,*r;
head3=(LinkList *)malloc(sizeof(LinkList)); //初始化head3头结点
head3->next=NULL;
r=head3;
while(p->next!=head1)
{ s=(LinkList *)malloc(sizeof(LinkList));
s->data=p->data;
r->next=s;
s->next=NULL;
r=s;
p=p->next;
}
while(q->next!=head2)
{ s=(LinkList *)malloc(sizeof(LinkList));
s->data=q->data;
r->next=s;
s->next=NULL;
r=s;
}
r->next=head3; //r是合并后单链表的最后一个结点,再指向head3的头结点表成循环链表,这样的操作对吗?
return head3; //返回linklist类型的地址
}
------------------------------------分割线------------------------
求高手帮我看看程序有没有错误,我还想知道这样返回值为LinkList类型的怎么调用.....难为是LC=UnionLinkList(LA,LB)? 展开
2个回答
2010-06-04
展开全部
UnionLinkList()函数应该修改为:
LinkList *UnionLinkList(LinkList *head1,LinkList *head2)/*注意这里*/
{
LinkList *p=head1->next,*q=head2->next,*head3,*s,*r;
head3=(LinkList *)malloc(sizeof(LinkList));
head3->next=NULL;
r=head3;
while(p!=head1) /*注意这里*/
{ s=(LinkList *)malloc(sizeof(LinkList));
s->data=p->data;
r->next=s;
s->next=NULL;
r=s;
p=p->next;
}
while(q!=head2)/*注意这里*/
{ s=(LinkList *)malloc(sizeof(LinkList));
s->data=q->data;
r->next=s;
s->next=NULL;
r=s;
q=q->next;/*注意这里*/
}
r->next=head3;
return head3;
}
***************************************************
调用时应该用:
LinkList *l3;
l3=UnionLinkList(l1,l2);
LinkList *UnionLinkList(LinkList *head1,LinkList *head2)/*注意这里*/
{
LinkList *p=head1->next,*q=head2->next,*head3,*s,*r;
head3=(LinkList *)malloc(sizeof(LinkList));
head3->next=NULL;
r=head3;
while(p!=head1) /*注意这里*/
{ s=(LinkList *)malloc(sizeof(LinkList));
s->data=p->data;
r->next=s;
s->next=NULL;
r=s;
p=p->next;
}
while(q!=head2)/*注意这里*/
{ s=(LinkList *)malloc(sizeof(LinkList));
s->data=q->data;
r->next=s;
s->next=NULL;
r=s;
q=q->next;/*注意这里*/
}
r->next=head3;
return head3;
}
***************************************************
调用时应该用:
LinkList *l3;
l3=UnionLinkList(l1,l2);

2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件...
点击进入详情页
本回答由光点科技提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询