map/multimap容器
Map的特性是,所有元素都会根据元素的键值自动排序。Map所有的元素都是pair,同时拥有实值和键值,pair
的第一个元素被视为键值,第二个元素被视为实值,map
不允许两个元素有相同的键值。
multimap和map的操作类似,唯一区别是multimap的键值可以重复。
注意:Map和multimap都是以红黑树为底层实现的,而非哈希表。C++标准库提供了std::unordered_map
才是基于哈希表实现的。
map/multimap常用操作#
构造函数#
Copy
| map<T1, T2> mapTT; |
| map(const map &mp); |
赋值操作#
Copy
| map& operator=(const map &mp); |
| swap(mp); |
大小操作#
Copy
插入操作#
Copy
| map.insert(...); |
| map<int, string> mapStu; |
| |
| mapStu.insert(pair<int, string>(3, "小张")); |
| |
| mapStu.inset(make_pair(-1, "校长")); |
| |
| mapStu.insert(map<int, string>::value_type(1, "小李")); |
| |
| mapStu[3] = "小刘"; |
| mapStu[5] = "小王"; |
删除操作#
Copy
| clear(); |
| erase(pos); |
| erase(beg,end); |
| erase(keyElem); |
查找操作#
Copy
| find(key); |
| count(keyElem); |
| lower_bound(keyElem); |
| upper_bound(keyElem); |
| equal_range(keyElem); |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示
2022-09-06 约束