/*
如果以单链表表示集合,设集合A用单链表LA表示,
集合B用单链表LB表示,设计算法求两个集合的差
即A-B.
*/
void Difference(LinkList *LA,LinkList *LB)
{
Node *pre,*p,*r;
pre=LA;
p=LA->next;
while(p!=NULL){
q=LB->next;
//遍历LB表,判断LA中元素是否在LB中
while(q!=NULL&&q->data!=p->data)
{
q=q->next;
}
if(q!=NULL){
r=p;
pre->next=r->next;
p=p->next;
free(r);
}
else{
pre=p;
p=p->next;
}
}
}
12-05
1460
05-18
293