2017-06-03 83 views
-4

輸入:如何在C++中使用2d向量插入它?

1 10 
2 5 
2 15 
4 16 
1 20 
5 3 
5 6 
5 7 

輸出/ 2D矢量應存儲:

1 10 20 
2 5 15 
4 16 
5 3 6 7 
+1

你能告訴你的企圖solive呢? – Borgleader

+0

'std :: map >'或'std :: multimap '在我看來是一個更好的選擇。 –

+0

將來請提供您的問題[mcve]。 –

回答

-1

std::map<int,std::vector<int>>std::multi map<int,int>將是實現你正試圖在這裏做一個更好的選擇。

這裏是前者的實現:

#include <vector> 
#include <map> 
#include <iostream> 

int main(int argc, char** argv){ 
    std::map<int,std::vector<int>> m; 
    //fill up the map however you would like 
    m[1].push_back(10); 
    m[2].push_back(5); 
    m[2].push_back(15); 
    m[4].push_back(16); 
    m[1].push_back(20); 
    m[5].push_back(3); 
    m[5].push_back(6); 
    m[5].push_back(7); 

    for (const auto& elem: m){ 
     std::cout<<elem.first<<" "; 
     for (const auto& inner: elem.second){ 
      std::cout<<inner<<" "; 
     } 
     std::cout<<std::endl; 
    } 
} 

輸入:

1 10 
2 5 
2 15 
4 16 
1 20 
5 3 
5 6 
5 7 

輸出:

1 10 20 
2 5 15 
4 16 
5 3 6 7 
+0

請不要回答這些問題。標記他們。您正在積極傷害網站的質量。 –