关于C++中vector<vector<int> >的使用
1 定义
vector<vector<int> > A;//正确的定义方式
vector<vector<int>> A;//c++11之前这样定义是错误的,c++11之后支持这种定义方式
codeblocks设置支持c++11:Settings->Compiler->Compiler Flags
2 插入元素
若想定义A = [[0,1,2],[3,4]],有两种方法。
(1)定义vector B分别为[0,1,2]和[3,4],然后放入vector A。
vector<vector<int> > A;
vector<int> B;
B.push_back(0);
B.push_back(1);
B.push_back(2);
A.push_back(B);
B.clear();
B.push_back(3);
B.push_back(4);
A.push_back(B);
(2)
vector<vector<int> > A;
for(int i = 0; i < 2; ++i) A.push_back(vector<int>());
A[0].push_back(0);
A[0].push_back(1);
A[0].push_back(2);
A[1].push_back(3);
A[1].push_back(4);
3 长度
//vector<vector<int> >A中的vector元素的个数
len = A.size();
//vector<vector<int> >A中第i个vector元素的长度
len = A[i].size();
4 访问某元素
访问某元素时,方法和二维数组相同,例如:
//根据前面的插入,可知输出1。
printf("%d\n", A[0][1]);