C++で2次元ベクトルを使用する方法(STL)


C++のSTL(Standard Template Library)を使用して2次元ベクトルを扱う方法について説明します。以下では、いくつかの方法と具体的なコード例を紹介します。

  1. 2次元ベクトルの定義と初期化:

    #include <vector>
    using namespace std;
    
    int main() {
       vector<vector<int>> vec;  // 2次元ベクトルの定義
       vec.resize(rows, vector<int>(cols));  // 行数と列数を指定して初期化
       return 0;
    }
  2. 2次元ベクトルへのアクセス:

    // 特定の要素にアクセス
    int element = vec[row][col];
    
    // 要素の値の変更
    vec[row][col] = new_value;
    
    // 2次元ベクトルのサイズ取得
    int rows = vec.size();  // 行数
    int cols = vec[0].size();  // 列数
  3. 2次元ベクトルの走査:

    // 行単位での走査
    for (int i = 0; i < vec.size(); i++) {
       for (int j = 0; j < vec[i].size(); j++) {
           // vec[i][j]に対する処理
       }
    }
    // 範囲ベースの走査 (C++11以降)
    for (const auto& row : vec) {
       for (const auto& element : row) {
           // elementに対する処理
       }
    }

これらは、C++のSTLを使用して2次元ベクトルを操作する基本的な方法です。必要に応じて、追加の機能やアルゴリズムを使用することもできます。