c++中集合怎么用

请问下有关集合的操作:比如说如何定义一个集合?集合的元素是否能重复?如何向集合里加入一个元素?如何就集合里元素的个数?等~~~谢谢(不要给我大段的程序,把语法说清楚就可以... 请问下有关集合的操作:
比如说
如何定义一个集合?
集合的元素是否能重复?
如何向集合里加入一个元素?
如何就集合里元素的个数?
等~~~
谢谢
(不要给我大段的程序,把语法说清楚就可以了哦)
再次感谢
展开
 我来答
慎重还可靠灬宝贝f
推荐于2016-06-12 · TA获得超过12.9万个赞
知道大有可为答主
回答量:1.9万
采纳率:52%
帮助的人:2597万
展开全部

包括头文件:
#include <algorithm> 
#include <set>
集合函数:
set<int> S1,S2;
S1.insert(1);//插入一个元素1
S2.insert(2);//插入一个元素2
set<int>::iterator site; //迭代器,用法同vector
set<int> Si; 

set<int>vis 

set_intersection( S.begin(), S.end(),  S2.begin(), S2.end(),  inserter( Si, Si.begin() ) ); //Si为求交后的集合
set_union(...)//并,语法同上
set_difference(...) //差,语法同上

vis.clear() 移除set容器内所有元素

vis.count(s) 返回vis中值为s的个数 

if(vis.count(s)) 判断s是否在集合vis中 

vis.find(s) 返回s所在位置,如找不到,返回end(),即为vis,fing(s)==vis.end() vis.insert(s) 把s加入集合

 vis.remove(s) 从集合中移除s

输出:    
            set<int>::iterator ii;
            for(ii=si.begin();ii!=si.end();ii++)
            cout<<(*ii)<<' ';



百度网友46d2a63
推荐于2018-02-28 · TA获得超过572个赞
知道小有建树答主
回答量:85
采纳率:0%
帮助的人:155万
展开全部
*****
*****建议用stl标准模板库中的std::set——元素不允许重复,或者std::multiset——元素允许重复。这两种集合效率非常高。
*****
*****用法举例:
std::set<int> mySet;
int a,b,c,d;
a=1;
a=2;
a=3;
a=4;
mySet.insert(a);
mySet.insert(b);
mySet.insert(c);
mySet.insert(d); //erase()、find()、size()对应删除、查找、求元素个数的函数
也许你会问,为什么不直接用数组?std::set相当数组最大的优势是,集合中的元素都是按关键值排序的。std::set遇到关键值重复的,只保存一个值;而std::multiset允许重复元素并列存在。

参考资料: 自己琢磨的。

本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式