Intersect交集
设计一个求集合交的算法:输入集合A与集合B,求集合A与B之交。集合中的元素为整数(可以用c语言中的int表示),且互不相同。
输入第一行为一个整数t(0<t<10),表示测试用例个数。
每个测试样例由3行构成。第1行是2个正整数a(1≤a≤1000000),b(1≤a≤1000000),分别表示集合A和B的元素个数;第2行为a个以空格分隔的整数,为集合A中元素;第3行为b个以空格分隔的整数,为集合B中元素。
每个样例单独一行输出交集中元素的个数。
2
7 5
0 1 2 4 7 8 9
1 2 5 6 7
7 8
1 2 3 4 5 6 8
1 2 4 5 6 7 8 9
3
6
#include<iostream>
using namespace std; struct Node
{
Node* next;
int data;
}; Node* Create(int n)
{
Node* head = new Node;
Node*p, *pre;
head->next = NULL;
pre = head;
int k;
for (int i = 1; i <= n; i++)
{
p = new Node;
cin >> k;
p->data = k;
p->next = NULL;
pre->next = p;
pre = p;
}
return head;
} void jiao(Node*A, Node*B)
{
Node*p1, *p2;
p1 = A->next;
int count = 0;
while (p1)
{
p2 = B->next;
while (p2)
{
if (p2->data == p1->data)
{
count++;
break;
}
p2 = p2->next;
}
p1 = p1->next;
}
cout << count << endl;
} int main()
{
int m;
cin >> m;
while (m-->0)
{
int n1, n2;
cin >> n1 >> n2;
Node*A = Create(n1);
Node*B = Create(n2);
jiao(A, B);
delete A, B;
} return 0;
}
Intersect交集的更多相关文章
- INTERSECT交集运算
INTERSECT交集是由既属于集合A,又属于集合B的所有元素组成的集合,如示意图1.
- 集合运算—union(并集)、intersect(交集)和except(差集)
一.集合运算的基本格式是: 集合查询1 <集合运算> 集合查询2 [order by ...] 二.集合运算符是对两个集合操作的,两个集合必须具有相同的列数,列具有相同的数据类型(至少能隐 ...
- C#-WebForm-组合查询(Queryable延迟查询、Intersect交集)、分页展示基础
组合查询: 方法一:Queryable<> 延迟查询 其特点是:读到词句代码时不会立即执行,而是在进行数据绑定时执行 优点:此期间可以进行添加查询条件,以减少数据库查询内容,来减少内存占用 ...
- SqlSever基础 intersect 交集 两个查询结果共有的
镇场诗:---大梦谁觉,水月中建博客.百千磨难,才知世事无常.---今持佛语,技术无量愿学.愿尽所学,铸一良心博客.------------------------------------------ ...
- Intersect交集Except差集Union并集实例
int[] oldArray = { 1, 2, 3, 4, 5 };int[] newArray = { 2, 4, 5, 7, 8, 9 };var jiaoJi = oldArray.Inter ...
- 【oracle】union、union all、intersect、minus 的用法及区别
一.union与union all 首先建两个view create or replace view test_view_1 as as c from dual union as c from dua ...
- 【转】Oracle集合操作函数:union、intersect、minus
集合操作符专门用于合并多条select 语句的结果,包括:UNION, UNION ALL, INTERSECT, MINUS.当使用集合操作符时,必须确保不同查询的列个数和数据类型匹配. 集合操作符 ...
- Oracle集合运算符 交集 并集 差集
集合运算符:UNION/UNION ALL 并集,INTERSECT 交集,MINUS 差集 一.union求并集,公共部分只有包含一次 例:求emp表ename中含’A‘或含有‘M’ SQL&g ...
- MINUS,INTERSECT,UNION浅析
转载:http://blog.csdn.net/gan690416372/article/details/5012397 SQL语句中的三个关键字:MINUS(减去),INTERSECT(交集)和UN ...
随机推荐
- python Redis
Redis非关系型数据库,可以做消息队列功能,可以实现订阅功能,类似于广播,只要订阅道这个频道,发消息的时候,别人可以收到消息,做监控的时候,所有的客户端往一个频道上发消息,server端只有一个监听 ...
- datatables.js 里面遇到的问题
1. 假如需要A行的data 和 B行的data 合并 在B行 data:name 在A行的 render:function(){ return data+full.name 此时返回的就是A+B ...
- win10锁屏壁纸路径
C:\Users\ShanYu\AppData\Local\Packages\Microsoft.Windows.ContentDeliveryManager_cw5n1h2txyewy\LocalS ...
- 分布式版本控制系统Git-----3.图形化Tortoisegit创建本地库并且提交到远程服务器上
[前提你已经有了自己的远程仓库帐号密码和HTTP地址] PS:图形化会方便,但是个人认为还是敲命令比较好,会锻炼人的思维和逻辑. 1.首先在任意一个地方创建test目录.若要把test目录放在Git的 ...
- TortoiseGit HTTPS方式保存密码最简单的方法
在TortoiseGit的设置 -> git 中选择 编辑本地 .git/config 在最后增加下面内容: [credential] helper = store
- bigdecimal使用
float和double类型 一般用于科学计算,用于金融的都用bigdecimal类型.在项目中浮点型数据没有指定 默认是double类型.bigdecimal的构造参数有浮点型和String类型.但 ...
- System.InvalidOperationException nested transactions are not supported
如下bll方法,在执行时会报事务嵌套异常.bll方法里开启了分布式事务,dal方法里又启动了数据库事务.通过查看异常堆栈,发现异常是在执行BillsDal.Add(bill);方法里的var tran ...
- 关于cocos2dx的C++调用创建项目
我使用的是cocos2dx-2.1.4版本+cygwin,其实主要是为了配合公司项目,所以用了低版本的cocos2dx 假设已经配置环境成功: 按照对应的要求输入包名,项目名,以及TargetId,就 ...
- openwrt 的 inittab
文件位于 /etc/inittab, 内容如下: root@hbg:/# cat /etc/inittab ::sysinit:/etc/init.d/rcS S boot::shutdown:/et ...
- ebtables使用的协议
ebtables的参数中: -p:指明使用的协议类型,ipv4,arp等可选(使用时必选)详情见/etc/ethertypes --ip-proto:IP包的类型,1为ICMP包,6为TCP包,17为 ...