C++ STL set使用的简单整理

对C++ STL中的set的使用做了简单的整理。

  • 调用与声明

    #include<set>
    using namespace std;
    set<int> myset;//生成int数据的集合,默认以升序排列
    
  • 常用操作

    加入新元素:

    myset.insert(x);
    

    移除元素:

    myset.erase(x);//返回0或1,0表示set中不存在x
    

    清空集合:

    myset.clear();
    

    判断集合是否为空:

    myset.empty();//空则为1,非空则为0
    

    集合中的元素个数:

    myset.size();
    

    查找元素:

    myset.find(x);//查找x,返回x的迭代器,若x不存在,则返回指向myset尾部的迭代器即 myset.end()
    /*常与myset.end()进行判断*/
    if(myset.find(x)==myset.end())
    {
        ...
    }
    

    一些迭代器方法:

    myset.lower_bound(x); //返回一个迭代器,指向第一个键值不小于x的元素
    myset.upper_bound(x); //返回一个迭代器,指向第一个键值大于x的元素
    myset.rend();		  //返回第一个元素的的前一个元素迭代器
    myset.begin();		  //返回指向集合中第一个元素的迭代器
    myset.end();		  //返回指向集合最后一个元素下一个位置的迭代器
    myset.rbegin();		  //返回最后一个元素
    
  • set的遍历

    set<int>::iterator i;
    	for( i=myset.begin();i!=myset.end();i++)    
    		cout<<*i<<" ";				   
    	cout<<endl;
    
  • 降序set的实现

    set<int,greater<int>> myset;  //降序排列 
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值