[英]Access elements of a list inside an unordered map in C++
我的基本疑問很簡單:假設我有一張這樣的地圖
std::map<int,std::list<int>> my_map;
現在,我想將地圖內列表的每個int復制到一組int中。 這是我正在做的解決方案的傑作,它只漏掉了這一部分...我只想知道如何將映射內的列表過程變成集合。
首先,您似乎正在復制...而不是循環插入,請嘗試使用:
void insert (InputIterator first, InputIterator last);
因此,對於您來說(不需要for循環):
visitados.insert(graph.begin(), graph.end());
我想您只是在問如何從新地圖中獲取數據? 在unordered_map中,您可以使用正確的語法,可以使用[]運算符,但是除非需要減少額外的性能,否則應堅持使用std :: map。 特別是考慮到到目前為止您在使用STL時遇到的困難。
另外,我想強調使用排序(在常規地圖上),查找和迭代器之類的功能,以使事情更安全,更輕松。
在這里閱讀更多 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.