c如何写两个集合的差集
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c如何写两个集合的差集相关的知识,希望对你有一定的参考价值。
c如何写两个集合的差集
参考技术A 用3个数组,一个保存第一个集合,-个保存另一个集合,再一个保存差集.然后利用比较对他们进行操作.
单链表实现求两个集合的差集
int Find(LinkList L,datatype x)
LNode *p;
p=L->next; //这里不明白为什么要把L->next赋给p (L->next不就等于是第二个结点的指针了么)
while(p!=NULL&&p->data<x) p=p->next;
if(p->data==x) return 1;
else return 0;
LinkList Intersection1(LinkList La,LinkList Lb)
LNode *pa,*r;
pa=La;
while(pa->next!=NULL)
if (Find(Lb,pa->next->data)) pa=pa->next;
else r=pa->next;
pa->next=r->next;
free(r);
return La;
本回答被提问者采纳
求2个list的差集
我的list中的内容是一个实体类,主要有SKU(商品)、pay(支付方式)、receiveport(收货地址)三个字段,现在要求2个list的差集,要求把list2中出现的与list1完全相同的实体类从list1中去掉,判断完全相同的标准就是SKU、pay、receiveport三个字段
问题解决了
var NewList = (from t in lstAll
from g in lstHasDel
where t.SKU != g.SKU
select t
).ToList();
return NewList;
1、将实体类的hashcode和equals方法重写;
2、遍历list2,判断每一个对象是否在list1中存在,存在的话,则remove.
这些都相当简单。你看还有什么疑问吗?追问
我想用linq方法,尽量不使用遍历。(我用的是C#)
追答真不好意思,我收到了你的求助,还以为是java的呢,没学过C#,不过你按着思路用c#实现也是很容易的。你可以试一试。
以上是关于c如何写两个集合的差集的主要内容,如果未能解决你的问题,请参考以下文章