La=LaULb (单链表)

时间:2023-03-09 02:40:55
La=LaULb (单链表)
#include<stdio.h>
typedef struct LNode
{
int data;
struct LNode *next;
}LNode,*LinkList;
void union1(LinkList &La,LinkList &Lb)
{
LinkList s,p,pre;
if(!La) La=Lb;
else
{
while(Lb)
{
s=Lb;
Lb=Lb->next;
p=La;
while(p!=NULL&&p->data!=s->data)
{
pre=p;
p=p->next;
}
if(p!=NULL) delete s;
else
{
pre->next=s;
s->next=NULL;
}
}
}
}
int main()
{
int m,n,i,a[100],b[100];
scanf("%d",&m);
for(i=0;i<m;i++)
scanf("%d",&a[i]);
LinkList p=new LNode;
LinkList La=p;
for(i=0;i<m;i++)
{
LinkList s=new LNode;
s->data=a[i];
p->next=s;
p=s;
}
p->next=NULL;
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&b[i]);
LinkList q=new LNode;
LinkList Lb=q;
for(i=0;i<n;i++)
{
LinkList s=new LNode;
s->data=b[i];
q->next=s;
q=s;
}
q->next=NULL;
union1(La,Lb);
p=La->next;
while(p)
{
printf("%d ",p->data);
p=p->next;
}
printf("\n");
return 0;
}