map类型
时间: 2023-07-02 22:05:29 浏览: 83
在C++中,map是一个关联容器,它将键(key)映射到值(value)。map容器中的元素按照键值自动排序,并且按照一定的规则进行查找和访问。map的内部实现采用红黑树(Red-black tree)数据结构,因此其查找和插入操作的时间复杂度为O(log n)。
map容器的定义方式:
```c++
#include <map>
// 定义一个以int为键类型,string为值类型的map容器
std::map<int, std::string> myMap;
```
map容器的常用操作:
```c++
// 插入元素
myMap.insert(std::make_pair(1, "one"));
// 查找元素
std::map<int, std::string>::iterator it = myMap.find(1);
if (it != myMap.end()) {
std::cout << it->second << std::endl;
}
// 删除元素
myMap.erase(1);
// 遍历元素
for (auto it = myMap.begin(); it != myMap.end(); ++it) {
std::cout << it->first << ": " << it->second << std::endl;
}
```
需要注意的是,map容器中不能包含重复的键值。如果插入一个已经存在的键,那么后面的值会覆盖前面的值。如果需要存储重复的键值,可以使用multimap容器。
阅读全文