【问题标题】:What is the difference between set and map in C++C++中set和map有什么区别
【发布时间】:2016-03-24 17:43:12
【问题描述】:

考虑创建电话簿,但不知道哪个 STL 容器更好。请解释set和map之间的区别。在哪种情况下哪个是更好的选择。

例如,当名称和数字存储在地图中时,如果将名称作为键,则无法使用数字进行搜索,反之亦然。那么究竟哪种容器/数据结构可以达到这个目的呢?

【问题讨论】:

标签: c++ stl set


【解决方案1】:

内部很少。它们都是红黑树。

map 虽然包含一对作为其值类型。然后,树操作仅对该对中的第一个元素进行操作。然后 Map 添加额外的功能来基于第一个元素进行搜索并仅检索第二个元素。

当你需要 key->value 对时使用 map。当您需要整体跟踪唯一值时使用 set。

【讨论】:

    【解决方案2】:

    std::set 视为std::map,其中键也是值。

    【讨论】:

      猜你喜欢
      • 2011-03-15
      • 1970-01-01
      • 2014-03-15
      • 1970-01-01
      • 2011-01-31
      • 1970-01-01
      • 2011-07-05
      • 1970-01-01
      • 2016-12-24
      相关资源
      最近更新 更多