multiset [STL]

View Code
struct Info{
    int val,key;
    bool friend operator<(Info x,Info y) {
        return x.val>y.val; //定义比较,默认按照val大->小排序
    }
};
multiset<int, greater<int> > sbt;

//头文件:#include <set>
//multiset<int> sbt;         //默认小到大
//multiset<int, greater<int> > sbt; //定义大到小
//元素键值允许重复 O(log n)
//注意 使用前先sbt.clear()
//sbt.empty()      //判断是否有元素
//sbt.insert(x)    //插入x元素
//sbt.erase(x);    //删除x元素
//sbt.count(x)     //x元素有多少个
//sbt.begin()       //第一个元素*(sbt.begin())
//*lower_bound(sbt.begin(),sbt.end(),x) //返回>=x的第一个元素
// pair<multiset<int>::iterator, multiset<int>::iterator> range;
//range = sbt.equal_range(x); //返回x的上下界的迭代器

int main() {
    int i,j,k,tmp;
    Info tt;
    sbt.clear();
    for(i=1;i<=10;i++) sbt.insert(rand()-1);
    multiset<int,greater<int> >::iterator it;    //定义迭代器,默认小到大
    for(it=sbt.begin();it!=sbt.end();it++) cout<<(*it)<<" "<<endl;
//    tmp=*lower_bound(sbt.begin(),sbt.end(),1000);
//    printf("%d\n", tmp);
    return 0;
}

 

转载于:https://www.cnblogs.com/zhang1107/archive/2013/04/26/3045120.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值