在c++中访问无序映射中的列表元素
Access elements of a list inside an unordered map in C++
我的疑问很简单:假设我有一个这样的地图
std::map<int,std::list<int>> my_map;
现在我想把map中列表的每个int型复制到int型集合中。这是我正在做的解决方案的杰作,它只错过了这一部分…我只是想知道如何使这个过程中的列表内映射到一个集合。
首先,你似乎在复制…代替循环插入,尝试使用:
void insert (InputIterator first, InputIterator last);
所以对你来说这变成了(不需要for循环):
visitados.insert(graph.begin(), graph.end());
我想你只是在问你如何从新地图中获得数据?在unordered_map中,您的语法是正确的,您可以使用[]操作符,但除非您需要提高性能,否则您应该坚持使用std::map。特别是考虑到到目前为止你在STL上遇到的困难。
此外,我想强调使用sort(在常规映射上)、find和迭代器等函数,以使事情更安全、更容易。
相关文章:
- C++如何通过用户输入删除列表元素
- 常量映射和常量元素映射之间的区别
- C++:如何初始化包含具有给定键的指针列表的映射
- 通过动态分配插入列表元素
- 用于编织链接列表元素的Runner Technique
- 无法在C 中删除列表元素
- C++ 有没有办法以相同的效率组合此列表和映射
- 在 c++ 中生成字符串到 std::指针列表的映射
- 如何在不使用循环或迭代器的情况下检查所有列表元素并在满足条件时删除一个
- 将列表元素移动到列表末尾的函数多次不起作用
- C++11 在列表到映射(或其他容器)之间移动元素
- 交换链接列表元素
- 当删除列表元素时,在迭代器结束时会发生什么
- 为什么从不同分配器的列表中剪辑列表元素时会有错误消息?以及如何解决
- 打印出列表元素问题
- 我想通过递归获取列表元素的所有置换
- 从C++访问列表元素 (QML) 颜色
- 如何在C++visual studio 2013中将列表元素转换为文本块
- 指向删除后的列表元素的指针
- 在c++中访问无序映射中的列表元素