マップがあるとしましょう:typedef map<int, string> MyMap;
たとえば、次のように文字列でトラバースしたいと思います。
3 -> a
1 -> b
7 -> b
2 -> c
1 つの方法は、このマップをその値でソートすることです。しかし、これは find() の効率に影響を与えるのではないかと心配しています (本当ですか?)
もう 1 つの選択肢は、 を使用することboost::bimap
です。しかし、お気づきかもしれませんが、MyMap の値は一意ではないため、bimap はここでは適用できません。
それを行う良い方法はありますか?