multiset

multiset

mulitset是什么?

  multiset是C++ STL里的一种容器。

头文件 #include<set>

multiset有什么性质?
里面的元素按顺序排列,默认升序。
不去重(这点和set是不同的)。
常用方法
multiset<int>q;
//定义一个multiset,尖括号里写类型
//如果是自定义类型,需要重载小于号 

q.insert(x);
//插入一个数 x 

q.clear();
//清空 

q.erase(x);
//删除容器中的所有值为 x 的数 

q.erase(it);
//删除容器中迭代器it指向的元素 

q.empty();
//返回bool值,如果容器为空返回true,否则返回false 

q.size()
//返回元素个数

q.begin();
//返回首个元素的迭代器 

q.end();
//返回最后一个元素的下一个位置的迭代器 

q.count(x);
//返回容器中 x 的个数 

q.find(x);
//返回容器中第一个x的位置(迭代器),如果没有就返回q.end() 

q.lower_bound(x);
//返回容器中第一个大于等于x的数的迭代器 

q.upper_bound(x);
//返回容器中第一个大于x的数的迭代器 

以上是常用的方法。

值得一提的是,lower_bound方法与upper_bound方法,都是内置二分查找,速度要比遍历暴力查找快很多。

posted @ 2020-12-03 07:09  Lvlb2333  阅读(177)  评论(0编辑  收藏  举报