首页 > 其他 > 详细

考前总结---set集合用法

时间:2017-11-04 15:42:10      阅读:241      评论:0      收藏:0      [点我收藏+]

博主今天搞了半天,弄这个set集合的查找(可能是博主太弱了)

q.find()如果找不到该元素,就返回最后一个元素的后一位置。

还有q.end()博主至今弄不懂返回的到底是什么

因为在找某个元素的时候,可以

if(q.find(x)!=q.end())//如果成立,相当于找到了,

否则,它俩的地址一样,不成立,但q.find()返回的是最后一个元素的后一个位置,而end按介绍不是这样。(如果以后博主悟道了,会来修改的...)

查找在集合里的第一个比这个数大的值
①
it=q.upper_bound(p);
if(it!=q.end())
{
    ++it;
    cout<<*it<<endl;
}
②
it=q.find(p);
while(it!=q.end())
{
    if(*it>p)
    cout<<*it<<endl;
    ++it;
}
下面是错误代码,请不要用这个来查,
按理论讲,下面的没啥错误啊(也许是博主无知...)
总之下方代码不能用来查找这个功能
it=q.find(p);
if(it!=q.end())
{
    cout<<*it<<endl;
    ++it;
}

 

set集合头文件:<set>

创建:set<int> q;

插入:q.insert(x)   //x值某个元素

查找第一个大于等于x的值:q.upper_bound(x)

返回集合的元素数目:q.size();

查找某集合是否存在某一元素:q.count(x)种若存在2,就返回1,否则返回0

if(q.count(2))
{
cout<<"存在2这个元素";
}

清空:q.clear()

字面意思:q.begin()   q.end()

考前总结---set集合用法

原文:http://www.cnblogs.com/hcute/p/7783333.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!