簡體   English   中英

在C ++中訪問無序映射內列表的元素

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM