C语言 · 集合运算
第二行有n个互不相同的用空格隔开的整数,表示集合A中的元素。
第三行为一个整数m,表示集合B中的元素个数。
第四行有m个互不相同的用空格隔开的整数,表示集合B中的元素。
集合中的所有元素均为int范围内的整数,n、m<=1000。
第二行按从小到大的顺序输出A、B并集中的所有元素。
第三行按从小到大的顺序输出B在A中的余集中的所有元素。
1 2 3 4 5
5
2 4 6 8 10
1 2 3 4 5 6 8 10
1 3 5
1 2 3 4
3
5 6 7
1 2 3 4
/*
B在A中的余集:表示A中有B中没有的元素。
*/
#include<stdio.h>
#include<string.h>
#define max 1000
int jiao[max]={},bing[max+max]={},yu[max]={},all[max+max]={};//分别表交集、并集、余集、和集
int lena,lenb;//a和b数组的长度
void MPup(int a[],int len){//冒泡升序
for(int i=; i<len-; i++){
for(int j=; j<len--i; j++){
if(a[j]>a[j+]){
int t = a[j];
a[j] = a[j+];
a[j+] = t;
}
}
}
}
void showjiao(int all[],int len){
int index=;//下标
for(int i=;i<len;i++){
if(all[i+] == all[i]){//如果当前遍历的元素和前一个元素相等
jiao[index++] = all[i];//存到bing中
}
}
for(int i=;i<index;i++){
printf("%d ",jiao[i]);
}
}
void showbing(int all[],int len){//求并集
int index=;//下标
bing[] = all[];
for(int i=;i<len;i++){
if(all[i] != all[i-]){//如果当前遍历的元素和前一个元素不相等
bing[index++] = all[i];//存到bing中
}
}
for(int i=;i<index;i++){
printf("%d ",bing[i]);
}
}
void showyu(int a[],int b[]){
int index=;//表索引
for(int i=;i<lena;i++)
{
int count=;
for(int j=;j<lenb;j++)
if(a[i]!=b[j])
count++;
if(count==lenb)
yu[index++]=a[i];
} for(int i=;i<index;i++){
printf("%d ",yu[i]);
}
}
int main(){
scanf("%d",&lena);
int a[lena];
for(int i=;i<lena;i++){
scanf("%d",&a[i]);
all[i]=a[i];
}
MPup(a,lena);//a排序
scanf("%d",&lenb);
int b[lenb];
for(int i=;i<lenb;i++){
scanf("%d",&b[i]);
all[lena+i]=b[i];
}
MPup(b,lenb);//b排序
MPup(all,lena+lenb);//和集排序
showjiao(all,lena+lenb);//求交集
printf("\n");
showbing(all,lena+lenb);//求并集
printf("\n");
showyu(a,b);//求余集
return ;
}
C语言 · 集合运算的更多相关文章
- R语言︱集合运算——小而美法则
每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- 集合运算的一般规则如下: union(x ...
- 一般链表实现集合运算(C语言)
最近在学习数据结构,遇到以下问题: 假设集合A = (c, b, e, g, f, d),B = (a, b, n, f),利用一般线性链表实现集合运算(A-B)∪(B-A). 分析: 上面的问题只要 ...
- 【Java EE 学习 28 上】【oracle学习第二天】【子查询】【集合运算】【几种数据库对象】
一.子查询 1.为什么要使用子查询:问题不能一步求解或者一个查询不能通过一步查询得到. 2.分类:单行子查询和多行子查询. 3.子查询的本质:一个查询中包含了另外一个或者多个查询. 4.使用子查询的规 ...
- 详解SQL集合运算
以前总是追求新东西,发现基础才是最重要的,今年主要的目标是精通SQL查询和SQL性能优化. 本系列[T-SQL基础]主要是针对T-SQL基础的总结. [T-SQL基础]01.单表查询-几道sql查询题 ...
- SQL集合运算参考及案例(一):列值分组累计求和
概述 目前企业应用系统使用的大多数据库都是关系型数据库,关系数据库依赖的理论就是针对集合运算的关系代数.关系代数是一种抽象的查询语言,是关系数据操纵语言的一种传统表达方式.不过我们在工作中发现,很多人 ...
- 【SqlServer系列】集合运算
1 概述 已发布[SqlServer系列]文章如下: [SqlServer系列]SQLSERVER安装教程 [SqlServer系列]数据库三大范式 [SqlServer系列]表单查询 [SqlS ...
- Oracle02——oracle分页、子查询、集合运算、处理数据、创建和管理表和其他数据库对象
作者: kent鹏 转载请注明出处: http://www.cnblogs.com/xieyupeng/p/7289451.html --oracle分页(Pageing Query) select ...
- SQL Fundamentals || 多表查询(内连接,外连接(LEFT|RIGHT|FULL OUTER JOIN),自身关联,ON,USING,集合运算UNION)
SQL Fundamentals || Oracle SQL语言 一.多表查询基本语法 在进行多表连接查询的时候,由于数据库内部的处理机制,会产生一些“无用”的数据,而这些数据就称为笛卡尔积. 多表查 ...
- SQL进阶系列之7用SQL进行集合运算
写在前面 集合论是SQL语言的根基,因为这种特性,SQL也被称为面向集合语言 导入篇:集合运算的几个注意事项 注意事项1:SQL能操作具有重复行的集合(multiset.bag),可以通过可选项ALL ...
随机推荐
- Unable to convert MySQL date/time value to System.DateTime
当使用.NET connector 连接MYSQL数据库,检索某些数据的时候,你可能会得到一个错误信息: "Unable to convert MySQL date/time value t ...
- Hadoop Map/Reduce 示例程序WordCount
#进入hadoop安装目录 cd /usr/local/hadoop #创建示例文件:input #在里面输入以下内容: #Hello world, Bye world! vim input #在hd ...
- 使用maven生成可执行的jar包
从pom的xsi中可以打开描述pom的schema: 可以看到pom中,project的结构: 默认的mvn install生成的jar是不带主类入口的,需要在maven-compile-plugin ...
- Android 版本对于 API
Android版本 API 代号 官网链接 Android 2.3.3 API 10 Gingerbread 官网 Android 3.0 API 11 Android 3.1 API 12 Andr ...
- Android 7.0 Dialog 无法显示的问题
app 在 Android 7.0 上登录的时候, Dialog 不显示了,但是半透明背景显示 经过搜索和对比,发现出现该问题是因为重写了 getResources() 方法造成的 .重写该方法是为了 ...
- Go基础--终端操作和文件操作
终端操作 操作终端相关的文件句柄常量os.Stdin:标准输入os.Stdout:标准输出os.Stderr:标准错误输出 关于终端操作的代码例子: package main import " ...
- 解决sweetalert 无故报错 elem.className.replace Uncaught TypeError: Cannot read property 'className' of null
今天碰到这么一个问题,在使用sweetalert的时候时有时无会报错 elem.className.replace Uncaught TypeError: Cannot read property ' ...
- 开发集成工具MyEclipse中Outline的问题
序言 不懂的多查,越查就越显得自己的无知,越发现大神的存在,可能相对于我来说是大神,在他那个高度,就觉得自己很菜,这些都正常,最值得敬佩的是,比你厉害的人,还比你更努力,那自己还有什么理由不努力呢,如 ...
- shouldAutoRotate Method Not Called in iOS6
转自:http://stackoverflow.com/questions/13588325/shouldautorotate-method-not-called-in-ios6 参考1:http:/ ...
- HTML5基础小结(二)——标签小例
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGl1amlhaGFuNjI5NjI5/font/5a6L5L2T/fontsize/400/fill/I0 ...