#include<iostream>
using namespace std;class int_set
{private:int max_size;      //最大容量int current_size;  //当前大小int *p;            //动态数组public://构造函数int_set(int &arr_size) :max_size(arr_size), current_size(0){this->p = new int[arr_size];}//拷贝构造函数int_set(const int_set &copy){this->max_size = copy.max_size;this->current_size = copy.current_size;this->p = new int[copy.max_size];for (int i = 0; i < this->current_size; i++){this->p[i] = copy.p[i];}}//析构函数~int_set(){delete[]p;}//查找相同元素int search(int &elem){for (int i = 0; i < this->max_size; i++){if (this->p[i] == elem){return 1;}}return 0;}//输入void input(){for (int i = 0; i < this->max_size; i++){cin >> p[i];}this->current_size = this->max_size;}//输出void ouput(){for (int i = 0; i < this->current_size; i++){cout << p[i] << " ";}}//并集 + 排序(A ∪ B = C)int_set* elem_union(int_set *B){int i, j;//动态开辟集合C的内存空间int new_max_size = this->max_size + B->max_size;int_set *C = new int_set(new_max_size);//排序集合A,放入集合C中C->p[0] = this->p[0];for (i = 1; i < this->max_size; i++){for (j = i - 1; this->p[i] < C->p[j] && j >= 0; j--){C->p[j + 1] = C->p[j];}C->p[j + 1] = this->p[i];}//更新C集合的当前大小C->current_size = this->max_size;//排序集合B,放入集合C中for (i = 0; i < B->max_size; i++){if (!C->search(B->p[i])) //查找两个集合是否有相同元素{for (j = C->current_size - 1; B->p[i] < C->p[j] && j >= 0; j--){C->p[j + 1] = C->p[j];}C->p[j + 1] = B->p[i];//更新C集合大小C->current_size++;}}return C;}};int main()
{int m = 0, n = 0;cout << "请输入A集合大小:" << endl;cin >> m;cout << "请输入B集合大小:" << endl;cin >> n;int w = m + n;int_set *A = new int_set(m);int_set *B = new int_set(n);int_set *temp = new int_set(w);cout << "请输入集合A元素:" << endl;A->input();cout << "请输入集合B元素:" << endl;B->input();temp = A->elem_union(B);cout << "集合C元素:" << endl;temp->ouput();system("pause");return 0;
}

c++实现并集(A∪B = C)相关推荐

  1. Redis 笔记(06)— set 类型(向集合添加元素、获取集合元素个数、判断集合中是否包含某个元素、删除给定元素、返回集合中所有元素、计算集合的交集、并集、差集)

    Redis 的 set 集合内部的键值对是无序的唯一的.它的内部实现相当于一个特殊的字典,字典中所有的 value 都是一个值 NULL .当集合中最后一个元素移除之后,数据结构自动删除,内存被回收. ...

  2. 第一个python程序:定义,列表,元组,集合,求并集交集,键和值,运算符,缩进

    ''' 来源:天善智能韦玮老师课堂笔记 ''' print("定义") a = 6 # python里无需定义 print("a=",a) a += 1 # + ...

  3. 打印出两个set中差集_Java之两个Set集合的交集、差集和并集

    一.求交集 注:场景是读取两个文件,把文件内容放到Set中,求两个文件之间的共同元素.在这里只写对Set的操作. public static void main(String[] args) thro ...

  4. javascript ES6有趣的Set,数组去重、并集、交集、差集

    Set 对象存储的值总是唯一的 Set 对象方法 方法 描述 add 添加某个值,返回Set对象本身. clear 删除所有的键/值对,没有返回值. delete 删除某个键,返回true.如果删除失 ...

  5. CSS之复合选择器(交集、并集选择器)

    <!DOCTYPE html> <html><head><meta charset="UTF-8"><title>< ...

  6. CSS复合选择器(后代选择器、子元素选择器、并集选择器、伪类选择器、:focus伪类选择器)

    复合选择器是由两个或多个基础选择器,通过不同的方式组合而成的. 1. 后代选择器 后代选择器又称为包含选择器 作用:用来选择元素或元素组的子孙后代 其写法就是把外层标签写在前面,内层标签写在后面,中间 ...

  7. [kuangbin带你飞]专题五查并集

    写了几个查并集得题,成功把自己写晕了 之后写下面得题(写不下去了) **poj-2912 poj 文章目录 1.POJ - 1611(模板题) 2.HDU - 1213(模板题) 3.poj2236( ...

  8. 顺序表-有序顺序表表示集合-并集(两者比较,小者放入C,未遍历继续放入)

    顺序表的存储结构: typedef struct{int data[Maxsize]; //存在顺序表中的元素int length; //存放顺序表的长度}SqList; 分析: 这里有序的顺序表,可 ...

  9. 顺序表-顺序表表示集合-并集(A复制到C,B遍历比较C)

    顺序表的存储结构: typedef struct{int data[Maxsize]; //存在顺序表中的元素int length; //存放顺序表的长度}SqList; 分析: 这里是求并集 ,也就 ...

  10. R函数:交集intersect、并集union、找不同setdiff、判断相同setequal

    R语言基础系列: 你知道R中的赋值符号箭头(<-)和等号(=)的区别吗? 1数据类型(向量.数组.矩阵. 列表和数据框) 2读写数据所需的主要函数.与外部环境交互 3数据筛选--提取对象的子集 ...

最新文章

  1. 对于未来的多种可能,这几位中国科学家想说
  2. Spring起步(一)Building a RESTful Web Service
  3. java 数据库 空值_java – 是否可以将枚举属性的空值存储到数据库?
  4. 【翻译】关于回调地狱
  5. PHP全栈开发(八):CSS Ⅸ dispaly visibility
  6. 【Django】安装及配置
  7. 基于licode搭建webrtc服务器
  8. SQL SERVER 数据库主键和外键的思考
  9. 财富信息不需要传userID后台会根据保存的session提供数据
  10. 蓝桥杯 ALGO-58 算法训练 字串逆序
  11. Arcgis javascript那些事儿(十六)——GP服务的发布与使用
  12. HDU 5979 2016ICPC大连 I: Convex
  13. react withRouter 离开页面触发
  14. delphi中tidtcpserver如何给指定的客户端发送数据_你来讲下Netty通信中的粘包、拆包?...
  15. 日本著名数学游戏专家中村义作教授提出这样一个问题:将2520个桔子分给六个儿子
  16. 基于FPGA的波束形成verilog开发
  17. RCF—用于C++的进程间通讯(4)
  18. AI转型中的思考和洞见
  19. lwip-SNMP移植
  20. 护眼台灯真的管用?全光谱led护眼灯到底值不值得入手

热门文章

  1. Top 50 Most Popular APIs on RapidAPI (2018)
  2. 【论文阅读|深读】SDNE:Structural Deep Network Embedding
  3. 乾坤物联带你了解UWB发展史
  4. DOO-SABIN 细分正方体(2)利用半边数据结构表示(一次和两次细分)
  5. 阿里国际站金品诚企不可忽视的权益
  6. fc安卓模拟器_面对悠长假期,GPD WIN2掌机让我畅玩模拟器游戏
  7. python画松树_小白自学Python(二)
  8. android客户端和服务端交互,谈谈android客户端和网站数据交互的实现
  9. Extraction failed.
  10. 【Android】中微信抢红包助手的实现(代码整理)