std::map
是C++标准库中的一个关联容器,用于存储键值对。std::map
内部使用红黑树(Red-Black Tree)来实现,保证了键值对的有序性。
使用std::map
可以按照键值对的键来快速查找对应的值,时间复杂度为O(log n)。可以通过std::map
的成员函数来插入、删除、查找元素,并且还支持遍历操作。
以下是std::map
的一些常用方法:
insert(key, value)
:向map中插入一个键值对。erase(key)
:删除map中指定键对应的键值对。find(key)
:查找map中指定键对应的值。begin()
和end()
:返回指向map第一个元素和最后一个元素的迭代器,用于遍历map中的元素。size()
:返回map中元素的个数。empty()
:判断map是否为空。示例代码:
#include <iostream>
#include <map>
int main() {
std::map<int, std::string> myMap;
myMap.insert(std::make_pair(1, "apple"));
myMap.insert(std::make_pair(2, "banana"));
myMap.insert(std::make_pair(3, "cherry"));
std::map<int, std::string>::iterator it;
for (it = myMap.begin(); it != myMap.end(); ++it) {
std::cout << it->first << " => " << it->second << std::endl;
}
if (myMap.find(2) != myMap.end()) {
std::cout << "Found key 2 with value: " << myMap[2] << std::endl;
}
myMap.erase(3);
std::cout << "Map size: " << myMap.size() << std::endl;
return 0;
}
以上代码展示了如何使用std::map
插入、查找、删除元素,并遍历map中的所有元素。