嵌套vector的使用

形如vector<vector<int>>怎么初始化:

输入赋值

输入m,n

m为vector<int>个数

n为每个vector中的元素

int main() {
    int m, n;
    cout<< "m =";
    cin>> m;
    cout<< "n =";
    cin >> n; // m个vector<int> 每个vector有n个元素

    vector<vector<int> > ivec;

    for (int i = 0; i < m; ++i) {
        vector<int> vec;
        cout<< "Input " << n << " numbers at " << i + 1 << " times";
        for (int j = 0; j < n; ++j) {
            int x;//每一个元素
            cin>> x;
            vec.push_back(x);
        }
        ivec.push_back(vec);
    }

    for (int i = 0; i < m; ++i) {
        cout << "The " << i + 1 << "th output is:";
        for (int j = 0; j < n; ++j) {
            cout << ivec[i][j] << " ";
        }

        cout << endl;
    }
}

modern cpp

int main()
{
    int rowNum;
    int columnNum;

    cout<<"rowNum =";
    cin>>rowNum;

    cout<<"columnNum =";
    cin>>columnNum;

    vector<vector<int>> vec(rowNum, vector<int>(columnNum));

    cout << "Input " << rowNum <<" * "<< columnNum << " array: "<<endl;
    for (auto &row :vec) {
        for (auto &item : row) {
            int val;
            cin>>val;
            item = val;
        }
    }
    
    cout<<"The output array: "<<endl;
    for (auto elem : vec) {
        for (auto item : elem) {
            cout<<item<<" ";
        }
        cout<<endl;
    }
}

二维vector初始化赋值的方法有多种。 方法一:使用嵌套的初始化列表 可以使用嵌套的初始化列表来初始化二维vector。例如,假设我们要初始化一个2×3的二维vector,可以按照以下方式进行初始化赋值: vector<vector<int>> matrix {{1, 2, 3}, {4, 5, 6}}; 方法二:使用循环来逐行初始化 另一种方法是使用循环逐行初始化二维vector。这可以通过在外层循环中创建新的vector,并在内层循环中向其中添加元素来实现。例如,以下代码可以初始化一个2×3的二维vectorvector<vector<int>> matrix; for (int i = 0; i < 2; i++) { vector<int> row; for (int j = 0; j < 3; j++) { row.push_back(i * 3 + j + 1); } matrix.push_back(row); } 方法三:使用resize函数来指定大小并赋初值 还可以使用resize函数来指定二维vector的大小,并使用循环为其赋初值。例如,以下代码可以初始化一个2×3的二维vectorvector<vector<int>> matrix; matrix.resize(2, vector<int>(3)); int count = 1; for (int i = 0; i < 2; i++) { for (int j = 0; j < 3; j++) { matrix[i][j] = count++; } } 以上是三种常见的二维vector初始化赋值的方法,可以根据具体需求选择适合的方法进行使用。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [二维vector初始化,赋值](https://blog.youkuaiyun.com/sinat_41852207/article/details/86668954)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值