问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

c++set集合之间有加减操作么

发布网友 发布时间:2022-05-30 06:45

我来回答

2个回答

热心网友 时间:2023-10-13 07:15

set集合容器:实现了红黑树的平衡二叉检索树的数据结构,插入元素时,它会自动调整二叉树的排列,把元素放到适当的位置,以保证每个子树根节点键值大于左子树所有节点的键值,小于右子树所有节点的键值;另外,还得保证根节点左子树的高度与右子树高度相等。
平衡二叉检索树使用中序遍历算法,检索效率高于vector、deque和list等容器,另外使用中序遍历可将键值按照从小到大遍历出来。
构造set集合主要目的是为了快速检索,不可直接去修改键值。

头文件:#include <set>
常用操作:
1.元素插入:insert()
2.中序遍历:类似vector遍历(用迭代器)
3.反向遍历:利用反向迭代器reverse_iterator。
例:
set<int> s;
......
set<int>::reverse_iterator rit;
for(rit=s.rbegin();rit!=s.rend();rit++)
4.元素删除:与插入一样,可以高效的删除,并自动调整使红黑树平衡。
set<int> s;
s.erase(2); //删除键值为2的元素
s.clear();
5.元素检索:find(),若找到,返回该键值迭代器的位置,否则,返回最后一个元素后面一个位置。
set<int> s;
set<int>::iterator it;
it=s.find(5); //查找键值为5的元素
if(it!=s.end()) //找到
cout<<*it<<endl;
else //未找到
cout<<"未找到";
6.自定义比较函数
(1)元素不是结构体:
例:
//自定义比较函数myComp,重载“()”操作符
struct myComp
{
bool operator()(const your_type &a,const your_type &b)
[
return a.data-b.data>0;
}
}
set<int,myComp>s;
......
set<int,myComp>::iterator it;
(2)如果元素是结构体,可以直接将比较函数写在结构体内。
例:
struct Info
{
string name;
float score;
//重载“<”操作符,自定义排序规则
bool operator < (const Info &a) const
{
//按score从大到小排列
return a.score<score;
}
}
set<Info> s;
......
set<Info>::iterator it;

热心网友 时间:2023-10-13 07:15

感觉合并的话,最简单的就是把一个的从头到尾都insert到另一个里面把,反正有重复的插入也不会有什么副作用。
集合相减的话。。没找到,,或者可以用算法 remove_if之类的?其实写个for循环也挺简单的吧,反正set的find也是挺快的。。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
...Exception EoleSysError in module PlayGame.exe at 000AAA95,怎么... ...出现Exception EOleSysError in module ATT.exe at 000BCA21.拒绝... 求大神帮忙: Exception EOleSysError in module.1.多元函数概念(1... windows7ExceptionEOlesysErrorinmoduleexeat000649E0找不到指定模块... 南京新街口适合情侣吃饭的地方,南京钟山景区露台酒店价格 c语言中如何计算a+ b的和 题目:有用户输入两个整数a,b 求a和b之间的数的累加和,包括a和b 用C语... 有请高手解答,平手盘是什么意思,我认为打平多 平手盘什么意思平手盘指的是什么 食品添加剂安全使用指南目录 《知否》中明兰对二叔是爱情吗? 知否:林小娘为何对儿子不怎么上心,确如此费劲心机为女儿? 二叉树程序问题---数据结构 纳兰词是什么啊??? 如何得与凉风约 不共尘沙一并来表达什么 晦日是什么时间啊 ?除了晦日还有什么日啊 ? 可怜春浅游人少好傍池边下马行什么意思? 春浅乍暖还寒下一句 立春时老人经常说春深春浅是什么意思 哈利波特 混血王子日记在哪 小天狼星家的小精灵在哪 哈利波特中(我指的是书)有过一句话:“一个出色的家养小精灵,是不可以被别人知道的”原话是什么? 请问苹果电脑cxw文件如何打开? watch磁力充电线型号区别 哈利波特与死亡圣器上里 为什么布莱克家的家庭小精灵会听哈利的话 哈利波特最后怎么没交代布莱克家的家养小精灵去向呢 在90年代欧美的一部动画连续片讲的是家居小精灵,不是蓝色小精灵。那些精灵都居住在人们的家里 萌萌哒是什么意思呀 主人公是一个男孩和一群住在他们家的小精灵,长耳朵还有长尾巴,其中一个男孩精灵还有一架小飞机 magesafe插头有没有磁性 我想请大家帮我想一个电台的名称! 淑兰再嫁生双胞胎是哪一集? 电视剧《知否》中华兰在婆家受欺负,明兰为帮助华兰是如何做的? 知否中明兰为何要置康姨母于死地? 你知道知否中有哪五大妾室吗? 《铠甲勇士拿瓦》的剧情简介? 知否:顾廷烨婚后生活幸福,为何说有一遗憾? 知否孙家落魄第几章 有谁看过铠甲勇士拿瓦,给我讲讲 谁知道民国时期的女人戏 TVB有哪些女人戏 女人戏比较多的电视剧 cell lifter是什么意思? 侠义道2赚钱有几种方法? 宫廷女人大戏 女生要纹个图腾在心脏位置,什么图腾好? 新乡东站经常有人设骗局,你曾经经历过哪些? 有关毕业的歌曲 同是山影出品 女人戏《欢乐颂》能延续《琅琊榜》的成功吗 象美人心计,金枝欲孽,母仪天下,宫心计,大清后宫之类的。 毕业歌曲有哪些