c++中std::map的用法是什么

avatar
作者
筋斗云
阅读量:0

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

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!