码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2017-11-04 16:26:00      阅读:154      评论:0      收藏:0      [点我收藏+]

标签:修改   end   总结   insert   存在   用法   div   color   集合   

博主今天搞了半天,弄这个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集合用法

标签:修改   end   总结   insert   存在   用法   div   color   集合   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!