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的空间就缩小了。

posted @ 2020-04-26 16:50  醉深梦始  阅读(164)  评论(0)    收藏  举报