C++ STL(vector)
1、vector 构造函数
vector<T> v;
v(v1.begin(),v1.end())
v(n,T e)//构造函数将n个e拷贝给本身
v(v2)//拷贝构造函数
//还可以拷贝数组
int arr[] = {2,3,4,1,9};
v(arr , sizeof(arr) / sizeof(int)
2、vector赋值操作
assign(begin,end)
assign(n, T e)
vector<T> &operator=(const vector<T> &v1)
swap(vetcor<T> v1)//将自身与v1交换
3、vector的大小
size()//vector 有多少个元素
resize(int n, T val = 0)//改变vector中的元素个数,n 大于size,会自动补充val,小于的话,去掉多于的部分
capacity()//返回容器的容量
reserve(int len)//容器预留len个元素长度,即capacity的值,预留位置不初始化,元素不可访问。
4、vector存取数据
vector 支持用下表读取,也指出at(i)读取,at会跑异常,下表不会。
front()返回第一个元素
back()返回最后一个元素
5、vector插入和删除操作
insert(const iterator iter, int count, T e);//想迭代器iter位置插入n个e元素
push_back(T e) //向尾部插入元素
pop_back(T e)//从尾部取出一个元素
erase(const iterator begin, const iterator end)//删除从begin到end指向的元素
clear();//删除容器中所有的元素
6、缩小容量
vector 通过pop和erase 删除元素后,容器的空间并不会自动缩小,除了可以通过reserve调整空间,还可以用匿名变量swap的方法,调整空间:
vector<int>(v).swap(v) 将容器对象v赋值给一个匿名变量,然后通过swap交换空间,匿名变量使用过后会自动释放内存,这样v的空间就缩小了。

浙公网安备 33010602011771号