不同于set容器的一点是multiset允许有重复的值存在,不会像set一样自动去重.
下面的代码学习了一下简单的函数功能
code:
#include<bits/stdc++.h>
using namespace std;
int main()
{
//auto sort
multiset<int> m;
m.insert(1),m.insert(1),m.insert(3);
m.insert(5),m.insert(4),m.insert(100);
m.insert(100);
multiset<int>::iterator mst;
cout<<"multiset has: ";
for(mst = m.begin(); mst!=m.end(); mst++)
cout<<*mst<<" ";
cout<<"\n";
//函数使用
//begin()
mst = m.begin();
cout<<"first num is: "<<*mst<<endl;
//end():返回最后1个元素的下1个位置的迭代器(iterator)的地址,则要获取最后一个数需要mst--
mst = m.end();
mst--;
cout<<"last num is: "<<*mst<<endl;
//size()
cout<<"size is: "<<m.size()<<endl;
//count(x):统计容器中关键字x的个数
cout<<"it has 100's count is: "<<m.count(100)<<endl;
//empty()
if(m.empty())
cout<<"multiset is empty\n";
else
cout<<"multiset is no empty\n";
//lower_bound(x):返回第1个>=关键字x的元素
cout<<"first up 2's num is:"<< *(m.lower_bound(2)) <<endl;
return 0;
}