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中的所有元素。




