求 A 与 B 的交集,并存放于 A 链表中

题目:已知两个链表 A 和 B 分别表示两个集合,其元素递增排列。编一函数,求 A 与 B 的交集,并存放于 A 链表中。

LinkList Union(LinkList la,LinkList lb){
    LinkList pa=la->next,pb=lb->next;
    pc—la; // 结果表中当前合并结点的前驱的指针
    while(pa && pb)
        if (pa->data = pb->data) { //如果相等就取交集并入结果表中
            pc->next=pa;
            pc=pa;
            pa=pa->next;
            u=pb;
            pb=pb->next;
            free(u);
        }else
            if (pa->data < pb->data){ //如果小于,就删掉
                u=pa;
                pa-pa->next;
                free(u);
            }else { //如果大于,就删掉小的
                u=pb;
                pb-pb->next;
                free(u);
            }
    while(pa){
        u-pa;
        pa=pa->next;
        free (u);
    }
    while(pb){
        u=pb;
        pb=pb->next;
        free(u);
    }
    pc->next=NULL; // 置链表尾标记
    free(lb);
}

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值