C++ STL set

1.set中常用的方法

begin()返回一个迭代器,它指向容器c的第一个元素
end()返回一个迭代器,它指向容器c的最后一个元素的下一个位置
rbegin()返回一个逆序迭代器,它指向容器c的最后一个元素
rend()返回一个逆序迭代器,它指向容器c的第一个元素前面的位置
clear()清空所有元素
empty()判断set是否为空
max_size()返回set中最大能装的元素个数
size()返回当前set的大小
erase()
erase(iterator)删除迭代器所在位置的元素
erase(first, second)删除两迭代器中间元素,左闭右开(]
erase(value)删除值为value的元素
find(value)返回值为value的迭代器
insert()
insert(value)插入值为value的元素
insert(first, second)插入迭代器first,second之间的元素
upper_bound(key)查找大于key的元素的迭代器
lower_bound(key)查找大于等于key的元素的迭代器
equal_range(key)放回两个lower_bound,和upper_bound组成的pair

注:1.begin end rbegin rend位置图示

2.自定义比较函数的2种方法

struct cmp{
    bool operator <(const your_type &a, const your_type &b){
        return a.data > b.data;//由大到小
    }
}
set<int, cmp> s;
struct Info{
    string name;
    float score;
    bool operator < (const Info &a) const {
    //按score从大到小排列
        return a.score<score;
    }
}
set<Info> s;
set<Info>::iterator it;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值