map/multimap:由红黑树实现,元素为键值-实值 。
一:特点
1.map为单重映射,键值和实值是一对一的关系,不允许重复键值;multimap是多重映射,允许相同键值,一个键值可以对应多个实值 。
【STL之容器——mapmultimap】2.具有自动排序功能,所有map里的数据都是有序的 。
3.map提供的[]操作符的重载;multimap未提供 。
二:定义与初始化
map 三:基本操作
map 四:自定义排序规则
struct myoper{//自定义排序规则bool operator()(string s1, string s2) const{return s1.length() < s2.length();}};int main(){map m;m.insert(make_pair("jinwang", 99));m.insert(make_pair("zhangsan", 88));m.insert(make_pair("wuliu", 77));map::iterator it = m.begin();while (it != m.end()){cout << it->first << ":" << it->second << endl;it++;}return 0;}/**output:wuliu:77jinwang:99zhangsan:88*/ 五:总结
1.时间复杂度:查询,插入,删除都为O(log(n));
2.存储数据字典,并且要求方便地根据 key 找到 value,一对一的情况使用 map,一对多的情况使用 multimap 。
- 春季老年人吃什么养肝?土豆、米饭换着吃
- 三八妇女节节日祝福分享 三八妇女节节日语录
- 老人谨慎!选好你的“第三只脚”
- 校方进行了深刻的反思 青岛一大学生坠亡校方整改校规
- 脸皮厚的人长寿!有这特征的老人最长寿
- 长寿秘诀:记住这10大妙招 100%增寿
- 春季老年人心血管病高发 3条保命要诀
- 眼睛花不花要看四十八 老年人怎样延缓老花眼
- 香槟然能防治老年痴呆症? 一天三杯它人到90不痴呆
- 老人手抖的原因 为什么老人手会抖
