簡體   English   中英

如何從 std::map 中的 std::pair 的 std::vector 獲取輸入?

[英]How to take input from std::vector of std::pair in a std::map?

int n,a,b,c;
cin >> n;
map<int,vector<pair<int,int>>> mv;
for(int i=0;i<n;++i)
{
    cin>>a>>b>>c;
    mv[a].insert(make_pair(b,c));
}

我正在嘗試從std std::pairstd::vector獲取輸入,它位於std::map 。這可能嗎?

而且,我如何遍歷 map?

mv[a].insert(...)不是正確的 function 調用。 您需要使用mv[a].push_back(...) 請記住, mv[a]返回對 map 中與鍵a對應的值的引用。

如果你把那條線一分為二,那就更有意義了。

int n,a,b,c;
cin >> n;
map<int,vector<pair<int,int>>> mv;
for(int i=0;i<n;++i)
{
    cin>>a>>b>>c;
    vector<pair<int,int>>& v = mv[a];
    v.push_back(make_pair(b,c));
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM