愷龍 发表于 2020-11-15 20:24:28

求两个链表的交集集合

题目:
    已知递增有序的两个单链表A和B各存储了一个集合。设计算法实现求两个集合的交集运算C=A∩B。
typedef int DataType;
typedef struct Node
{
        DataType data;
        struct Node *next;
} LinkList;
LinkList *union(LinkList *A,LinkList *B)
{
        LinkList *C,*p,*q,*s,*r;
        p=A->next;
        q=B->next;
        C=A;
        r=C;
        while(p&&q)
        {
                if(p->data=q->data)
        {
               r->next=p;
                r=p;
                p=p->next;
                q=q->next;
       }
       else if (p->data<q->data)
       {
               p=p->next;
       }
       else q=q->next;
   }
   r->next =NULL;
   free(B);
   return C;
}


愷龍 发表于 2020-11-15 20:25:13

如有错误,还请指正。
页: [1]
查看完整版本: 求两个链表的交集集合