我的基本疑问就是这样:假设我有这样的地图
std::map<int,std::list<int>> my_map;
现在我想将地图中列表中的每个int复制到一组int中。这是我正在做的解决方案的主要部分,它只是错过了这部分......我只是想知道如何将地图中的列表进行到集合中。
答案 0 :(得分:1)
首先,您似乎正在复制...而不是循环插入,请尝试使用:
void insert (InputIterator first, InputIterator last);
所以对你而言(不需要循环):
visitados.insert(graph.begin(), graph.end());
我想你只是问你如何从新地图中获取数据?在unordered_map中你有正确的语法,你可以使用[]运算符,但除非你需要挤出额外的性能,你应该坚持使用std :: map。特别是考虑到你到目前为止STL的困难。
另外,我想强调使用sort(在常规地图上),find和迭代器等函数来使事情更安全,更容易。