如何插入向量图。地图<int,矢量<int>>地图;我想将值一一插入到向量中
Posted
技术标签:
【中文标题】如何插入向量图。地图<int,矢量<int>>地图;我想将值一一插入到向量中【英文标题】:How to insert into a map of vectors. map<int, vector<int>> map; I want to insert values into the vector one by one 【发布时间】:2021-07-12 08:16:09 【问题描述】:我想在这个向量中插入值,不是一次全部,而是 一个接一个。我将如何做到这一点? 就像例如 我想插入 1,2。 现在我想再次将 1,3 插入向量图中。地图中的最终值应包含 1,2,3。 我该怎么做呢? 如果我使用插入功能,则不会插入 3 或者如果我使用 map[1] = 3 那么 2 将被覆盖。
map<int, vector<int>> map;
map.insert(1,2);
map[1] = 3,4;
for(auto pr: map)
cout<< pr.first<< " ";
for(auto pr1 :pr.second)
cout << pr1 << endl;
这将为地图中的第一个键输出 3,4 个值。我希望向量中出现 2,3,4。
【问题讨论】:
=
分配。如果要插入推回,则需要使用insert
或push_back
【参考方案1】:
std::map<int, std::vector<int>> myMap;
myMap.insert(4, 3);
myMap[4].push_back(2);
myMap[4].push_back(4);
使用 myMap[key] 你可以访问向量,你只需要使用push_back
添加元素
【讨论】:
【参考方案2】:当向量不在地图中时,如何将元素插入到向量中?不是这样的:
std::vector<int> v2;
v = 3,4;
因为这会将整个向量替换为具有元素 3
和 4
的不同向量。但是像这样:
std::vector<int> v2;
v.push_back(3);
v.push_back(4);
当矢量在地图内时,它的工作原理相同。
【讨论】:
以上是关于如何插入向量图。地图<int,矢量<int>>地图;我想将值一一插入到向量中的主要内容,如果未能解决你的问题,请参考以下文章