Vector 本来是向量的意思, 只不过在用法上类似于一个不限长度的数组.
定义语法: vector < 数据类型> 名称;
一, 头文件:<vector> (bits/stdc++ 请忽略)
二, 常用方法:
- a.size(); // 读取大小
- a.resize(): // 改变大小
- a.push_back(); // 向尾部添加元素
- a.pop_back(); // 删除最后一个元素
- a.clear(); // 清空
- a.empty(): // 返回是否为空
三, 遍历
STL 的数据类型几乎 (也许是全部) 使用迭代器遍历.
vector<int>::iterator it = a.begin(); // 创建一个 vector 类型的迭代器 (类似于指针) 指向 a 的首地址
在 for 中写就是:
for (vector<int>::iterator it = a.begin(); it != a.end();it++)
然后就可以使用 * it 来访问指向的地址的值了.
四, 其他
插入元素: vec.insert(vec.begin()+i,a); 在第 i+1 个元素前面插入 a; (也就是说这个 a 就是 i+1 的位置)
删除元素: vec.erase(vec.begin()+2); 删除第 3 个元素
vec.erase(vec.begin()+i,vec.end()+j); 删除区间[i,j-1]; 区间从 0 开始 (这个争议比较大, 保留疑惑, 正常不用)
待补充............
来源: http://www.bubuko.com/infodetail-3136386.html