vector<vector<int>>作为二维数组

vector本来就是可以用来代替一维数组的,vector提供了operator[]函数,可以像数组一样的操作,而且还有边界检查,动态改变大小。
这里只介绍用它来代替二维的数组,二维以上的可以依此类推。

1、定义二维vector

vector<vector<int>  > v;//注意>和>之间的空格。

2、访问二维vector的元素的三种方式

如果指定外层和内层向量的大小,就可用operator[]进行读和写;如果只指定外层向量大小,就能用push_back()函数进行写,不能用operator[]进行读和写。
1)指定外层vector大小
可用push_back函数进行初始化:

v.resize(3);
v[1].push_back(9);

2)遍历指定内层vector大小
提前设定好每行vector的大小,就可用operator[]访问,如下:

for(int i=0;i<3;i++)
    v[i].resize(3);

3)一次指定内外层vector大小

v.resize(n, vector<int>(m));

猜你喜欢

转载自blog.csdn.net/qq_34228570/article/details/79887124