数据结构算法2.1两个线性表LA和LB,求新的集合那个,C语言版完整程序怎么写啊
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/18 18:28:32
数据结构算法2.1两个线性表LA和LB,求新的集合那个,C语言版完整程序怎么写啊
数据结构算法2.1两个线性表LA和LB,求新的集合那个,C语言版完整程序怎么写啊
数据结构算法2.1两个线性表LA和LB,求新的集合那个,C语言版完整程序怎么写啊
我写的,你编译一下,改一改就行了.
void Union(LinkList *L1,LinkList *L2,LinkList *&L3)//交集
{
LinkList *p=L1->next,*q=L2->next,*s,*c;
L3=(LinkList *)malloc(sizeof(LinkList));
L3->next=NULL;
c=L3;
while(p!=NULL&&q!=NULL)
{ if(p->data<q->data)
{ s=(LinkList *)malloc(sizeof(LinkList));//复制结点
s->data=p->data;
c->next=s;c=s;
p=p->next;
}
else if(p->data>q->data)
{ s=(LinkList *)malloc(sizeof(LinkList));
s->data=q->data;
c->next=s;c=s;
q=q->next;
}
else
{
s=(LinkList *)malloc(sizeof(LinkList));
s->data=p->data;
c->next=s;c=s;
p=p->next;
q=q->next;
}
}
while(q!=NULL)
{
s=(LinkList *)malloc(sizeof(LinkList));
s->data=q->data;
c->next=s;c=s;
q=q->next;
}
c->next=NULL;
while(p!=NULL)
{
s=(LinkList *)malloc(sizeof(LinkList));
s->data=p->data;
c->next=s;c=s;
p=p->next;
}
c->next=NULL;
}