本章主要记录vector 类中的各种方法,函数,以及它们的用途
本章内容仅为学习记录,如有纰漏,欢迎指正
vector 常用迭代器:
v.begin();
v.rbegin(); //指向右边开始第一个元素
v.end();
v.rend(); //指向左边第一个元素之前的位置,下标为[-1]
注:vector的迭代器是支持随机访问的迭代器
vector(); //默认构造函数
vector(int n); //开辟n个位置新空间
vector(vec.begin(), vec.end()); //将vec[beg,end)区间中数据拷贝给自己
vector(int n, elem); //构造函数将n个elem元素拷贝给本身
vector(const vector &vec); //拷贝构造
vector& operator= (const vector &vec); //等号重载
assign(beg, end); //将[beg,end)区间中数据拷贝赋值给本身
assign(n, elem); //将n个elem数据拷贝赋值给本身
empty(); //判空
capacity(); //返回容器的容量
size(); //返回当前元素个数
resize(int num); //重新指定长度为num,容器变长则以默认值填充新位置
//容器变短,则末尾超出范围元素被删除
resize(int num, elem); //重新指定容器长度为num,容器变长则以elem填充
//容器变短,同样末尾超出范围元素被删除
注:插入是将插入位置后方的元素全部后移,而并非覆盖
push_back(elem); //尾部插入一个元素
pop_back(); //删除尾部元素
insert(const_iterator pos, ele); //迭代器指向位置pos插入ele
insert(const_iterator pos, int count, ele); //迭代器指向位置pos插入count个ele
erase(const_iterator pos); //删除迭代器指向元素
erase(const_iterator start, const_iterator end); //删除[start, end)区间元素
clear(); //删除容器中所有元素
//以下方法返回值均为引用类型
at(int index); //返回index下标的数据
operator[]; //返回index下标数据
front(); //返回第一个数据
back(); //返回最后一个数据
swap(vec); 将vec与本身元素互换
vector<数据类型> (v).swap(v);
功能:减少vector在动态扩展容量时的扩展次数
reserve(int len); //容器预留len个元素长度,预留位置不初始化,元素不可访问