c++ - 反向 map 查找

标签 c++ stl map

我有一张一对一的 map 。从值中查找键的最佳方法是什么,

例如,如果 map 是这样的

关键值

a    1
b    2
c    3 
d    4

我希望能够找到3对应的键是C。

谢谢!

最佳答案

您对此无能为力。您可以选择使用两张 map ,使用多键 map ,如 Boost Multi-Index 中的一张库,或进行线性搜索。

更新: 最轻量级的开箱即用解决方案似乎是 Boost.Bimap ,代表双向 map 。

关于c++ - 反向 map 查找,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5749073/

相关文章:

c++ - Rcpp:无法返回在循环中创建的对象

C++ 参数类型接受适用于基于范围的 for 循环的所有序列

c++ - std::map 非常量仿函数,clang++ 下编译时错误,g++ 正常

c++ - std::vector.insert 上的段错误

c++ - map 上的无效模板参数 std::map< std::string, Stock*> &stocks

map 内的 Mongodb $elemMatch 查询

java - 计算机中有几级解释/编译?

c++ - C++中缩小和截断之间的区别?

c++ - 我需要在另一个 ""中插入一个 ""

java - remove() 方法太慢