如何插入向量图中。地图<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};

因为这会将整个向量替换为具有元素 34 的不同向量。但是像这样:

std::vector<int> v{2};
v.push_back(3);
v.push_back(4);

当向量在地图内部时,它的工作原理相同。