如何插入向量图中。地图<int, vector<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
我想向这个向量中插入值,不是一次全部插入,而是
一个一个。我将如何做到这一点?
像例如
我想插入 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。
std::map<int, std::vector<int>> myMap;
myMap.insert({4, {3}});
myMap[4].push_back(2);
myMap[4].push_back(4);
使用 map[key] 你可以访问向量,你只需要使用 push_back
添加元素
当向量不在地图中时,您如何将元素插入到向量中?不是这样的:
std::vector<int> v{2};
v = {3,4};
因为这会将整个向量替换为具有元素 3
和 4
的不同向量。但是像这样:
std::vector<int> v{2};
v.push_back(3);
v.push_back(4);
当向量在地图内部时,它的工作原理相同。
我想向这个向量中插入值,不是一次全部插入,而是 一个一个。我将如何做到这一点? 像例如 我想插入 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。
std::map<int, std::vector<int>> myMap;
myMap.insert({4, {3}});
myMap[4].push_back(2);
myMap[4].push_back(4);
使用 map[key] 你可以访问向量,你只需要使用 push_back
当向量不在地图中时,您如何将元素插入到向量中?不是这样的:
std::vector<int> v{2};
v = {3,4};
因为这会将整个向量替换为具有元素 3
和 4
的不同向量。但是像这样:
std::vector<int> v{2};
v.push_back(3);
v.push_back(4);
当向量在地图内部时,它的工作原理相同。