C++で2次元ベクトルをフラット化する方法について、シンプルで簡単な方法とコード例をご紹介します。
STL(Standard Template Library)を使用すると、C++でベクトルを操作するための便利な機能を利用できます。2次元ベクトルをフラット化するには、次の手順を実行します。
- 2次元ベクトルを定義します。例えば、次のように定義します。
std::vector<std::vector<int>> twoDVector = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
- STLアルゴリズムの
std::accumulate
を使用して、2次元ベクトルをフラット化します。std::accumulate
は、指定された範囲内の要素を結合するための関数です。
std::vector<int> flatVector;
std::accumulate(twoDVector.begin(), twoDVector.end(), std::back_inserter(flatVector), [](const std::vector<int>& a, const std::vector<int>& b) {
std::copy(b.begin(), b.end(), std::back_inserter(a));
return a;
});
これにより、twoDVector
がフラット化され、flatVector
に単一の1次元ベクトルとして格納されます。
- フラット化されたベクトルを出力します。
for (const auto& element : flatVector) {
std::cout << element << " ";
}
上記のコードを実行すると、次の出力が得られます。
1 2 3 4 5 6 7 8 9
これで、C++で2次元ベクトルをフラット化する方法がわかりました。以上がシンプルで簡単な方法です。