- ベストアンサー
多次元map
C++です。 1. 多次元mapというのはどのように実装すればよいのでしょうか?たとえば、 data[0.1][3.9]=1 といったデータの取り扱いです。 2. 1.が無理なのであれば、mapで格納されているデータ(たとえばdata[3.9]=1)を vectorに格納するにはどのようにしたらよいのでしょうか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
ただのmapは実装できるのですね? それなら、mapのmapにするか、 2つの値のペアをmapのkeyにするなどが思いつきます。 参考までにSTLのstd::mapを使った例を以下に書いておきます。 -------------------------------------------------- #include <iostream> #include <map> using namespace std; int main(){ /** mapのmap **/ map<double, map<double, int> > data; //入力 data[0.1][3.9] = 1; data[0.2][4.8] = 3; //出力 cout << data[0.1][3.9] << endl; cout << data[0.2][4.8] << endl; /** keyがpairのmap **/ map<pair<double, double>, int> data2; //入力 data2[pair<double, double>(0.1, 3.9)] = 1; data2[pair<double, double>(0.2, 4.8)] = 3; //出力 cout << data2[pair<double, double>(0.1, 3.9)] << endl; cout << data2[pair<double, double>(0.2, 4.8)] << endl; return 0; }
お礼
ありがとうございます。