c++中如何表示集合,并且怎么进行集合的运算

如题所述

基本上所有的顺序容器都可以表示集合,比如vector,list,deque。。。
想要进行集合的运算可以采用标准库中的算法
set_union()是求并集
set_intersection()是求交集
还有求差集神马的。你真心想学就去看c++标准程序库

给你个网址,是求并集的算法:
http://cplusplus.com/reference/algorithm/set_union/
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-08-21
可以直接用 STL set 就是集合。

c++中如何表示集合,并且怎么进行集合的运算
基本上所有的顺序容器都可以表示集合,比如vector,list,deque。。。想要进行集合的运算可以采用标准库中的算法 set_union()是求并集 set_intersection()是求交集 还有求差集神马的。你真心想学就去看c++标准程序库 给你个网址,是求并集的算法:http:\/\/cplusplus.com\/reference\/algorithm\/set_union\/ ...

C++程序设计:整数集合运算的实现
一、程序功能运用两种运算符重载的方法,编写一个程序,实现一个以下整数集合的基本运算:S1 + S2 两个整数集合的并运算S1 - S2 两个整数集合的差运算S1 * S2 两个整数集合的交运算S1 <= S2 判定集合s1是S2的子集二、提示分析1.定义一个表示整数集合的类set,声明两个私有数据成员num(int类型...

求c++大佬解答 编写函数 求两个集合的交集和并集
(如果知道具体的数据类型,C++库中可能存在现成解决方案)class A \/\/作为集合元素的类 { 属性:。。。方法:比较两个元素的方法A1 } class B \/\/作为集合的类 { 属性:集合元素 方法:返回与另一个集合的交集的方法B1 { 调用比较方法A1逐一比较各个元素,返回相同元素作为交集 } 返回与另一个集合...

c++中集合的表示方法
stl 的set 就是表示 集合的,如果没有接触过 stl 的话, 可以用mark数组表示啊,mark[i] = 1 表示 i 在 集合中,否则不在

c++中怎么定义集合的集合
int n) { \/\/ 用数组创建集合int i;pSet S,p;S = p = InitSet();for(i = 0; i next = GetNewNode();p->next->data = a[i];p = p->next;}p->next = NULL;return S;}void CreateSet2(Set S) { \/\/ 用键盘输入数据创建集合SElemType data;pSet p = S;while(scanf("...

C++ 的 set 集合应该怎么用,求简单的初始化,添加值,和遍历!!!
set<int> s2 (a,a+5); \/\/利用指针对象初始化set集合 s2.insert(0); \/\/插入方法1 s2.insert(s2.begin(),7); \/\/插入方法2 int b[] ={10,11,12,13,14,15};s2.insert(b,b+3); \/\/插入方法3 cout<<"集合s2中的元素:"<<endl;for(it=s2.begin();it!=s2.end();it...

C++:怎么用顺序表算集合的差集和交集
begin();iter2!=b.end();iter2++){ if((*iter1)==(*iter2)){ flag = 1;} } if(flag==0){ cout << *iter1 << " ";} } if(flag==1)cout << "空集" << endl;else cout << endl;}int main(){ int i,n,temp;printf("请输入集合a个数为:");scanf("%d",&n);...

用c++编译程序 输入集合a集合b和全集 求两个集合的交集 并集 补集 差...
演示一个求交集,其他的类似 int a[m],b[n], c[k],num=0;for(int i=0;i<m;i++){for(int j=0;j<n;j++)if(a[i]==b[j]){ c[num]=a[i];num++;} }

C++指针法,从键盘输入整数集合a,b的元素个数和各个元素的值(不相同...
printf("请输入b中%d个整数:",lenb); for(i=0;i<lenb;i++) scanf("%d",&b[i]); len = sum(a,lena,b,lenb,c); printf("并集为:\\n"); for(i=0;i<len;++i) printf("%d ",c[i]); printf("\\n"); return 0; }可以这样,不过没排序,要排序得这样...

c++集合set、multiset容器详解
编写一个集合类,包括并、交、差三种主要功能,且不允许有重复数据。使用学生类Student进行测试。分析:很明显需要使用set类,但set本身并没有实现两集合的并、交、差函数。因此,从set类派生,增加并、交、差三个主要函数。集合类MySet及测试用到的Student类如下所示:接下来,看看更多关于集合的操作:...

相似回答