我可以建立一个
vector<vector<int> >
使用重复序列构造函数?
我知道我可以建立一个像
vector<int> v(10, 0);
但我不知道如何使用相同的方法构建矢量矢量。谢谢!
答案 0 :(得分:4)
传递一个向量作为第二个参数:
// 10 x 10 elements, all initialized to 0
vector<vector<int> > v(10, vector<int>(10, 0));
答案 1 :(得分:4)
vector<vector<int> > v(10, vector<int>(30, 0));
将创建10个向量,每个向量为30个零。
答案 2 :(得分:0)
explicit vector ( size_type n, const T& value= T(), const Allocator& = Allocator() );
重复序列构造函数: 初始化向量,其内容设置为n
次的重复value
次。
vector< vector<int> > vI2Matrix(3, vector<int>(2,0));
创建3个向量,每个向量有2个零。
基本上,人们会使用矢量矢量来表示二维数组。
这是一个源代码示例:
#include <iostream>
#include <vector>
using namespace std;
main()
{
// Declare size of two dimensional array and initialize.
vector< vector<int> > vI2Matrix(3, vector<int>(2,0));
vI2Matrix[0][0] = 0;
vI2Matrix[0][1] = 1;
vI2Matrix[1][0] = 10;
vI2Matrix[1][1] = 11;
vI2Matrix[2][0] = 20;
vI2Matrix[2][1] = 21;
cout << "Loop by index:" << endl;
int ii, jj;
for(ii=0; ii < 3; ii++)
{
for(jj=0; jj < 2; jj++)
{
cout << vI2Matrix[ii][jj] << endl;
}
}
return 0;
}