2017-06-03 82 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

请不要回答这些问题。标记他们。您正在积极伤害网站的质量。 –