补充知识:
vector的resize函数是重定义数组的大小。
下面建立3*3数组
方法一:
#include <iostream>
#include <vector>
using namespace std;
int main()
{
int i, j;
vector<vector<int> > array(3);//注意vector<>后有一个空格
for(i = 0; i < 3; i++)
array[i].resize(3);
for(i = 0; i < 3; i++)
for(j = 0; j < 3; j++)
array[i][j] = i*j;
for(i = 0; i < 3; i++)
{
for(j = 0; j < 3; j++)
cout<<array[i][j]<<" ";
cout<<endl;
}
return 0;
}
方法二(就是定义时就初始化):
#include <iostream>
#include <vector>
using namespace std;
int main()
{
int i, j;
vector<vector<int> > array(3,vector<int>(3));//在这定义大小就不用后面再重新定义大小了,若改变数组大小,那请在后面自己改变
for(i = 0; i < 3; i++)
for(j = 0; j < 3; j++)
array[i][j] = i*j;
for(i = 0; i < 3; i++)
{
for(j = 0; j < 3; j++)
cout<<array[i][j]<<" ";
cout<<endl;
}
return 0;
}
其实不用定义外层大小,用push_back不定扩展才是vector创建二维数组的最强大的地方