1、Multiset多重集合容器 multiset元素的插入
//插入重复键值 #include<iostream> #include<string.h> #include<stdio.h> #include<ctype.h> #include<algorithm> #include<stack> #include<queue> #include<set> #include<math.h> #include<vector> using namespace std; int main() { multiset<string> ms; ms.insert("111"); ms.insert("333"); ms.insert("222"); ms.insert("ada"); ms.insert("aba"); multiset<string>::iterator it; for(it=ms.begin(); it!=ms.end(); it++) { cout<<*it<<endl; } return 0; }
2、Multiset多重集合容器 multiset元素的删除
//使用erase()可删除某迭代器位置上或者区间上的元素 键值等于某个值的所有重复元素 并返回删除元素的个数 #include<iostream> #include<string.h> #include<stdio.h> #include<ctype.h> #include<algorithm> #include<stack> #include<queue> #include<set> #include<math.h> #include<vector> using namespace std; int main() { multiset<string> ms;//multiset; ms.insert("111"); ms.insert("333"); ms.insert("222"); ms.insert("ada"); ms.insert("aba"); ms.insert("aba"); multiset<string>::iterator it; for(it=ms.begin(); it!=ms.end(); it++) { cout<<*it<<endl; } int i=ms.erase("aba"); cout<<"total delete:"<<i<<endl; for(it=ms.begin(); it!=ms.end(); it++) { cout<<*it<<endl; } return 0; }
3、multiset多重集合容器查找元素
//使用find()查找 返回该元素的第一个迭代器位置 否则 返回end() #include<iostream> #include<string.h> #include<stdio.h> #include<ctype.h> #include<algorithm> #include<stack> #include<queue> #include<set> #include<math.h> #include<vector> using namespace std; int main() { multiset<string> ms; ms.insert("111"); ms.insert("222"); ms.insert("333"); ms.insert("aaa"); ms.insert("aaa"); multiset<string>::iterator it; it=ms.find("aaa"); if(it!=ms.end()) cout<<*it<<endl; else cout<<"not find it!"<<endl; it=ms.find("bbb"); if(it!=ms.end()) cout<<*it<<endl; else cout<<"not find it!"<<endl; return 0; }