#include <map>
#include <string>
#include <iostream>
using namespace std;
int main()
{
///1. 初始化
multimap<int, string> mapStudent;
multimap<int, string>::iterator iter, beg, end;
///2. 添加元素
///multimap不支持下标操作
mapStudent.insert(pair<int, string>(0, "student_one"));
mapStudent.insert(pair<int, string>(0, "student_one_copy"));///一对多
mapStudent.insert(pair<int, string>(1, "student_two"));
mapStudent.insert(pair<int, string>(5, "Fear Kubrick"));
mapStudent.insert(pair<int, string>(2, "Akemi Homura"));
mapStudent.insert(pair<int, string>(-1, "Eren Jaeger"));
mapStudent.insert(pair<int, string>(99, "lin"));
cout << mapStudent.size() << endl;
cout << endl;
///3. 遍历
for (iter = mapStudent.begin(); iter != mapStudent.end(); iter++)
cout << iter->first << " " << iter->second << endl;
cout << endl;
///4. 单键查询与范围查询
///单键查询
int count = mapStudent.count(0);
iter = mapStudent.find(0);
for (int i = 0; i < count; i++, iter++)
cout << iter->first << " " << iter->second << endl;
cout << endl;
///范围查询
beg = mapStudent.lower_bound(1);/// >=1
end = mapStudent.upper_bound(5);/// <=5
for (; beg != end; beg++)
cout << beg->first << " " << beg->second << endl;
cout << endl;
///5. 删除
iter = mapStudent.find(1);
mapStudent.erase(iter);
cout << mapStudent.size() << endl;
for (iter = mapStudent.begin(); iter != mapStudent.end(); iter++)
cout << iter->first << " " << iter->second << endl;
cout << endl;
///6. 判空与清空
if (!mapStudent.empty())
mapStudent.clear();
}
C++ STL 练手(multimap的使用)
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- vector的使用 list的使用 deque的使用 set的使用 map的使用 multiset的使用 mult...
- vector的使用 list的使用 deque的使用 set的使用 map的使用 multiset的使用 mult...
- vector的使用 list的使用 deque的使用 set的使用 map的使用 multiset的使用 mult...
- vector的使用 list的使用 deque的使用 set的使用 map的使用 multiset的使用 mult...