【问题标题】:how can we add an element in the map of set...eg .map<int,unordered_multiset<int>>mp; in c++14我们如何在集合的映射中添加一个元素...例如 .map<int,unordered_multiset<int>>mp;在 C++14 中
【发布时间】:2021-02-08 09:33:19
【问题描述】:

我想向 mp[x] 添加一个元素。 地图adj;

for(int i=0;i<n;i++)
{
    cin>>brr[i];
    if(brr[i]!=arr[i])
    {
    // i want to add an element 
    //in mp[brr[i]] ;
     
    }
    else
    {
        comp.insert({brr[i],i+1}); //set
    }
}
}

【问题讨论】:

标签: c++11 stl set c++14


【解决方案1】:

这是一个从intunordered_multiset&lt;int&gt;map 示例。

#include <map>
#include <unordered_set>
#include <iostream>

int main() {
    std::map<int, std::unordered_multiset<int>> adj;
    
    const int z = 10;
    adj[6].insert(z);
    adj[6].insert({1,2,3});
    
    auto& myset = adj[6];

    for(auto const& x : myset) {
        std::cout << x << std::endl;
    }

    return 0;
}

输出:

3
2
1
10

cppreference 上的例子通常都很好:

https://en.cppreference.com/w/cpp/container/map#Example https://en.cppreference.com/w/cpp/container/map/insert#Example

然后你必须找到插入多重集的正确方法:

https://en.cppreference.com/w/cpp/container/unordered_multiset/insert

其中一个使用initializer_list {}

【讨论】:

  • adj[99] = {1,2,3};现在我想在这个集合中添加 4..我怎么能 ..plz 提供代码
  • @shahil198 adj[99].insert(4)
  • @shahil198 很棒
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-11-04
  • 2013-02-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多