标准库类型vector
vector 表示对象的集合,其中所有对象的类型都相同。集合中每个对象都有一个与之对应的索引用于访问对象。
vector 是模板而非类型,由vector生成的类型必须包含vector中元素的类型。
定义和初始化vector
vector<T> v1; // v1 是一个空vector,潜在元素是T类型的
vector<T> v2(V1); // v2 包含 v1 所有元素
vector<T> v2 = v1; // 与第二行等价
vector<T> v3(n, val); // v3 包含了 n 个重复元素 val
vector<T> v4(n); // v4 包含了 n 个重复执行了值初始化的对象,初值都为0。
vector<T> v5{a, b, c ...}; // v5 包含了数个初始化元素的值
vector<T> v6 = {a, b, c...}; // 等价 v5;
() 表示用来构造对象
{} 表示用来初始化对象
vector增加元素
-
尾部插入
v.push_back(i)
-
指定位置插入
v.insert(const_iterator pos, ele)
向迭代器指向位置 pos 插入元素 ele
-
指定位置插入 n 个相同元素
v.insert(const_iterator pos, cont, ele)
向迭代器指定位置插入 cont 个元素 ele
vector删除元素
-
尾部删除
v.pop_back
-
删除指定位置元素
v.erase(const_iterator pos, ele)
删除迭代器指定位置的元素
v.erase(const_iterator begin, const_iterator end)
删除迭代器起始位置 begin 和结束位置 end 的所有元素
-
清空元素
v.clear()
下标
可以用下标访问元素,不能用下标修改元素。