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

【问题讨论】:

= 分配。如果要插入推回,则需要使用insertpush_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;

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

std::vector<int> v2;
v.push_back(3);
v.push_back(4);

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

【讨论】:

以上是关于如何插入向量图。地图<int,矢量<int>>地图;我想将值一一插入到向量中的主要内容,如果未能解决你的问题,请参考以下文章

如何在(字符串和向量)的地图中放置..?

如何插入地图或矢量以生成 json 字符串 (jsoncpp)

如何在 C++ 中创建向量的向量图?

C ++:如何用非零大小初始化地图中的向量

如何在c ++中将值从矢量转换为地图?

打印矢量元素