void Union(LinkNode *L1,LinkNode *L2,LinkNode *&L3){
LinkNode *p1=L1->next,*s=p1->next,*p2; //p1,p2遍历L1,L2链表 s指向p1下一个结点
while(p1 != NULL ){ //将L1插入L2中,有重复元素不插入
p2 = L2->next; //p2指向L2第一个数据结点
while(p2 !=NULL && p2->data != p1->data){
//在L1中取一个结点p1,判断其数据域是否与L2中结点相等
p2=p2->next;
}
if(p2==NULL){ //p2为空则表示L2中没有与之相同元素,将p1结点插入L2头结点后面
p1->next = L2->next;
L2->next = p1;
p1 = s; //p1指向L1下一个结点
if(p1 != NULL) {
s = p1->next;
}
}else{
p1 = s; //p1指向L1下一个结点
if(p1 != NULL) {
s = p1->next;
}
}
}
L3=L2;
}