1. 从已有 vector(或数组)中复制
vector<int> a{....};
int an = a.size();
int half = an/2;
vector<int> a0(a.begin(), a.begin()+half);
vector<int> a1(a.begin()+half, a.end());
2. 一维向量 ⇒ 不定长二维向量
我们并不死板地定义vector<vector<int>>
这样的对象,
vector<int> v[10];
v[0].clear();
v[0].push_back(1); v[0].push_back(2);
v[1].clear();
v[1].push_back(10); v[1].push_back(11); v[1].push_back(12);
3. 倒数第一、倒数第二
vector<int> path[10];
int d = path[path.size() - 1]; // 倒数第一
int c = path[path.size() - 2]; // 倒数第二
int b = path[path.size() - 3]; // 倒数第三
int a = path[path.size() - 4]; // 倒数第四;
当然也可采用指针(迭代器)的方式:
int d = *(path.end()-1);
int c = *(path.end()-2);
int b = *(path.end()-3);
int a = *(path.end()-4);