vector创建二维数组

来源:百度知道 编辑:UC知道 时间:2024/05/31 01:04:18
vector<vector<int> > array; //-->头文件里面定义

源文件中,如何将array定义为m*n二维数组(不在定义的时候初始化)
使我可以用如下方法初始化
int m=2,n=3,i,j;
for(int i=0;i<m;i++)
for(int j=0;j<n;j++)
array[i][j]=i+j; //-->不过这样做肯定是不行的

//不这样做:vector<vector<int> > array(m, vector<int>(n)); 如何把它拆成两个语句

vector<int> line;
vector< vector<int> > array;

for(int i = 0; i < m; i++)
{
for(int j = 0; j < n; j++)
line.push_back(i + j);
array.push_back(line);
line.erase(line.begin(), line.end());
}

vector的优点就在于不定长
如果你一定要这样定长使用的话也没什么问题
在循环里用
array.push_back(i+j);
初始化就可以了