stl set 判断一个元素是否在一个集合中

 我来答
小肥杨妈妈
2018-04-08 · 孕妈圈的肥杨,每日更新有温度的宝妈小知识
小肥杨妈妈
采纳数:826 获赞数:24357

向TA提问 私信TA
展开全部

Set集合的元素不区分顺序,且不允许出现相同元素。这里同样的元素指的是以equals()方法判断的

内容拓展:

1、STL 对这个序列可以进行查找,插入删除序列中的任意一个元素,而完成这些操作的时间同这个序列中元素个数的对数成比例关系,并且当游标指向一个已删除的元素时,删除操作无效。而一个经过更正的和更加实际的定义应该是:一个集合(set)是一个容器,它其中所包含的元素的值是唯一的。

2、这在收集一个数据的具体值的时候是有用的。集合中的元素按一定的顺序排列,并被作为集合中的实例。一个集合通过一个链表来组织,在插入操作和删除操作上比向量(vector)快,但查找或添加末尾的元素时会有些慢。

3、具体实现采用了红黑树的平衡二叉树的数据结构。一个集合(set)是一个容器,它其中所包含的元素的值是唯一的。

4、集和多集的区别是:set支持唯一键值,set中的值都是特定的,而且只出现一次;而multiset中可以出现副本键,同一值可以出现多次。

你是唯一dz444
2019-08-09
知道答主
回答量:5
采纳率:0%
帮助的人:3389
展开全部
可以用set的一个count函数,存在则返回1,不存在返回0
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wanglixin1001
2012-11-13 · TA获得超过4174个赞
知道大有可为答主
回答量:1758
采纳率:80%
帮助的人:875万
展开全部
find()函数返回指向查找元素的迭代器,如果不存在返回set的end()迭代器。
count()返回该元素的个数,返回值为1代表存在,返回值为0表示不存在。
这两个函数都可以的。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
beddy1
2012-11-13 · TA获得超过1989个赞
知道大有可为答主
回答量:2271
采纳率:0%
帮助的人:2202万
展开全部
比如 set<int> nums;

方法1: if (nums.count(10))
方法2: if (nums.find(10) != nums.end())
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式