C++中 vector<vector<int>>

来源:互联网 发布:网络诈骗罪的立案金额 编辑:程序博客网 时间:2024/05/19 09:48

二维向量的输入问题: 

不像二维数组那样,可以直接对 arr[i][j] 进行行循环赋值。在vector<vector<int>>中,因为vector是一个容器,最外层的vector容器中放着更小的vector,而里层的vector里面放的是int型的数字。所以我们首先要对里层的vector容器赋值,然后再把里层的vector作为元素插入到外层的vector中。



行列的表示:

e.g.: vector<vector<int>> array; 则 行 row=array.size( );  列 col=array[0].size( );

代码:

#include <iostream>#include <vector>using namespace std;int main(){    vector<vector<int>> test;    vector<int> v;    int n,temp;    cin >> n;    test.clear();    //输入    for (int i = 0; i<n; i++) {        v.clear();         for (int j = 0; j < n; j++)        {            cin >> temp;            v.push_back(temp);        }        test.push_back(v);    }    //输出    for(int i = 0; i < n; i++)    {        for(int j = 0;j < n; j++){            cout << test[i][j] << " ";        }        cout << endl;    }    return 0;}



原创粉丝点击