C++ STL 学习笔记 map multimap
来源:互联网 发布:信贷团队口号,知乎 编辑:程序博客网 时间:2024/06/06 08:58
map multimap
map,multimap key-value对容器,也叫字典,map中不能存放key相同的元素,而multimap可以,容器中元素默认按升序排序
map multimap的相关操作
m.insert(map<T1,T2>::value_type(a1,a2));m.insert(make_pair(a1,a2));m.insert(pair<T1,T2>(a1,a2));a[a1]=a2; //multimap不能用这种方式m.find(val) //查找元素,返回迭代器m.erase(key) //通过key删除元素m.erase(it) //通过迭代器删除元素m.erase(it1,it2) //删除迭代器范围内的元素
学习代码
#include <iostream>#include <map>#include <string>using namespace std;int main(){ map<int, string> a; //键不能重复,默认按升序排序 multimap<int, string> ma; a.insert(map<int, string>::value_type(1, "One")); a.insert(map<int, string>::value_type(1, "one")); a.insert(map<int, string>::value_type(2, "Two")); a.insert(map<int, string>::value_type(3, "Three")); a.insert(make_pair(-1, "Minus One")); a.insert(pair<int, string>(1000, "One Thousand")); a[1000000] = "One Million";//multimap不能用这种方式 cout << "最简单那的查找" << endl; cout << a[3] << endl; cout << "map里一共有" << a.size() << "个kye-value对数据" << endl; map<int, string>::const_iterator it = a.begin(); while (it != a.end()) { cout << "key" << it->first ; cout << " value" << it->second.c_str(); cout << endl; ++it; } ma.insert(multimap<int, string>::value_type(3, "Three")); ma.insert(multimap<int, string>::value_type(45, "Forty Five")); ma.insert(make_pair(-1, "Minus one")); ma.insert(pair<int, string>(1000, "One Thousand")); ma.insert(pair<int, string>(1000, "One Thousand")); multimap<int, string>::const_iterator itm = ma.begin(); while (itm != ma.end()) { cout << "key:" << itm->first; cout << " value:" << itm->second.c_str(); cout << endl; ++itm; } cout << "multimap里有" << ma.count(1000) << "个1000" << endl; multimap<int, string>::const_iterator fi; fi=ma.find(45); if (fi != ma.end()) { cout << "找到了" << fi->first<<" "<<fi->second.c_str()<< endl; } else { cout << "没找到" << endl; } fi = ma.find(1000); if (fi != ma.end()) { cout << "找到了1000" << endl; size_t n = ma.count(1000); for (size_t i = 0; i < n; i++) { cout << "key:" << fi->first << "value:" << fi->second.c_str() << endl; ++fi; } } else { cout << "没找到" << endl; } if (ma.erase(-1) > 0) cout << "删除-1成功" << endl; multimap<int, string>::iterator itm2 = ma.find(45); if (itm2 != ma.end()) { ma.erase(itm2); cout << "删除45成功" << endl; } ma.erase(ma.lower_bound(1000), ma.upper_bound(1000));//迭代器 getchar(); return 0;}
0 0
- STL学习笔记-map/multimap容器
- C++ STL 学习笔记 map multimap
- c++stl中的map/multimap
- STL笔记(5)-map/multimap
- C++STL学习(5)容器map和multimap
- STL学习笔记----6.容器 map 和 multimap
- STL学习笔记----6.容器 map 和 multimap
- 【学习笔记】C++高级程序设计:STL:Map 和 Multimap
- 【学习笔记】《STL使用入门教程》第五讲:容器map、multimap
- STL学习笔记— —容器map和multimap
- STL学习笔记8— —容器map和multimap
- 【C++ 学习笔记】:STL-multimap
- STL之map&multimap容器(笔记)
- STL学习之map与multimap
- STL学习(六)--map/multimap用法详解
- STL::map,multimap用法
- STL容器:map,multimap
- STL---map 和 multimap
- Leetcode-19. Remove Nth Node From End of List
- jsp--javabeans
- [BZOJ3118]Orz the MST(单纯形)
- 欢迎使用CSDN-markdown编辑器
- 矩阵基本变换
- C++ STL 学习笔记 map multimap
- mysql相关问题
- C++学习记录5--如何使用math.h中定义的PI
- 漫谈计算机基础之信息的处理与表示(1)
- HDU 4607 Park Visit【思维】【图论】【搜索】
- 考研复试-操作系统知识点总结(一)
- 002.PHP遍历路径
- 推荐系统实战
- 路由表的建立