stl set 判断一个元素是否在一个集合中
4个回答
展开全部
Set集合的元素不区分顺序,且不允许出现相同元素。这里同样的元素指的是以equals()方法判断的
内容拓展:
1、STL 对这个序列可以进行查找,插入删除序列中的任意一个元素,而完成这些操作的时间同这个序列中元素个数的对数成比例关系,并且当游标指向一个已删除的元素时,删除操作无效。而一个经过更正的和更加实际的定义应该是:一个集合(set)是一个容器,它其中所包含的元素的值是唯一的。
2、这在收集一个数据的具体值的时候是有用的。集合中的元素按一定的顺序排列,并被作为集合中的实例。一个集合通过一个链表来组织,在插入操作和删除操作上比向量(vector)快,但查找或添加末尾的元素时会有些慢。
3、具体实现采用了红黑树的平衡二叉树的数据结构。一个集合(set)是一个容器,它其中所包含的元素的值是唯一的。
4、集和多集的区别是:set支持唯一键值,set中的值都是特定的,而且只出现一次;而multiset中可以出现副本键,同一值可以出现多次。
展开全部
可以用set的一个count函数,存在则返回1,不存在返回0
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
find()函数返回指向查找元素的迭代器,如果不存在返回set的end()迭代器。
count()返回该元素的个数,返回值为1代表存在,返回值为0表示不存在。
这两个函数都可以的。
count()返回该元素的个数,返回值为1代表存在,返回值为0表示不存在。
这两个函数都可以的。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
比如 set<int> nums;
方法1: if (nums.count(10))
方法2: if (nums.find(10) != nums.end())
方法1: if (nums.count(10))
方法2: if (nums.find(10) != nums.end())
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询