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; }