Vector的基础函数
之前有学习过 vector、set、map等容器,都是需要什么搜什么,没有详细的了解其中的内容。最近在看 STL 的相关内容,就顺手整理一些基础性内容,避免以后遇到的时候再临时抱佛脚。
1. 构造函数
vector<T> v; //创建一个空的vector
vector<T> v(int nSize, const t& t); //创建一个vector,元素个数为nSize,元素值均为t
vector<T> v(int nSize); //创建一个vector,元素个数为nSize
vector<T> v(const vector&); //复制构造函数
vector<T> v = vector(begin,end); //复制[begin,end]范围内另一个数组的元素到 v中
2. 增加元素
v.push_back(const T& x); //在vector尾部增加一个元素x
v.insert(iterator it, const T& x); //在vector中迭代器指向的元素前插入一个元素x
v.insert(iterator it, int n,const T& x); //在vector中迭代器指向的元素前插入n个相同的元素x
v.insert(iterator it,const_iterator first,const_iterator last); //在vector中迭代器指向的元素前插入另一个相同类型vector中[first,last]间的元素
3. 删除元素
v.erase(iterator it); //删除vector中迭代器指向的元素
v.erase(iterator first, iterator last); //删除vector中[first,last)的元素
v.pop_back(); //删除vector中的最后一个元素
v.clear(); //清空向量中的所有元素
4. 遍历vector
v.at(int nPos); //返回nPos位置元素
v.front(); //返回vector的首元素
v.back(); //返回vector的尾元素
v.begin(); //返回指向第一个元素的迭代器
v.end(); //返回指向最后一个元素下一位置的迭代器
v.rbegin(); //反向迭代器,指向最后一个元素
v.rend(); //反向迭代器,指向第一个元素的前一个位置
5. 判断函数
v.empty(); //判断vector是否为空
6. 大小函数
v.size(); //返回vector中元素个数
v.capacity(); //返回当前vector中所能容纳的最大元素个数
v.max_size(); //返回当前vector最大可允许的元素数量个数
7. 其他函数
v.swap(vector& v2); //交换两个同类型的vector
v.assign(int n,const T& t); //设置vector中第n个元素的值为t
v.assign(const_iterator first,const_iterator last); //vector中[first,last)中的元素设置成当前vector元素
个别函数的详细介绍
erase()、fill()置0操作、find()查找操作、swap()交换操作、vector释放内存、对Vector进行复制