在C++中有没有办法搜索映射的映射值(而不是键),然后返回密钥?通常,我会someMap.find(someKey)->second得到值,但在这里我想做相反的事情并获得密钥(值和密钥都是唯一的).
我有一些这样的数据:
1 2
3 4
5 9
2 6
3 7
Run Code Online (Sandbox Code Playgroud)
我正在寻找这样的输出(group-id和该组的成员):
1: 1 2 6
2: 3 4 7
3: 5 9
Run Code Online (Sandbox Code Playgroud)
第一行因为1"连接"到2而2连接到6.第二行因为3连接到4而3连接到7
这对我来说就像一个图遍历,但最终的顺序并不重要所以我想知道是否有人可以建议一个更简单的解决方案,我可以在大型数据集(数十亿条目)上使用.
来自评论:
编辑1:
问题现在解决了.感谢大家的帮助.我需要更多帮助,选择可用于数十亿这类条目的最佳解决方案.
编辑2:
测试输入文件:
1 27
1 134
1 137
1 161
1 171
1 275
1 309
1 413
1 464
1 627
1 744
2 135
2 398
2 437
2 548
2 594
2 717
2 738
2 783
2 798
2 912
5 74
5 …Run Code Online (Sandbox Code Playgroud)