标准地图

  • 要使用 std::map 或 std::multimap 中的任何一个,应包含头文件 <map>。

  • std::map 和 std::multimap 都按照键的升序对元素进行排序。在 std::multimap 的情况下,对于相同键的值不进行排序。

  • std::map 和 std::multimap 之间的基本区别在于 std::map 不允许 std::multimap 所用的相同键的重复值。

  • 地图实现为二叉搜索树。所以 search(),insert(),erase() 的平均时间为Θ(log n)。对于恒定时间操作使用 std::unordered_map。

  • size() 和 empty() 函数具有Θ(1)时间复杂度,每次调用这些函数时,缓存节点数以避免遍历树。