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;
}