STL 之vector

数据结构: vector 底层是以2倍扩容的动态数组 头文件: #include<vector>

基本操作 :

  • 增加 
  1. push_back(val)    O(1)         末尾增加 可能导致扩容
  2. insert(it,val)        O(n)         迭代器指向的位置添加元素
  • 删除
  1. pop_back(val)   O(1)           末尾删除
  2. erase(it)           O(n)          删除迭代器指向的位置
  • 查询
  1. operator []       O(1)           下标访问
  2. iterator            O(n)           迭代器遍历
  3. find  for_each                    范性算法
  • 常用方法
  1. size()     求大小
  2. empty()  判空
  3. reserve(20) :vector 预留空间
  4. resize(20)   : 重置大小
  5. swap      : 交换两个容器的元素,可释放内存

reserve 与 resize 的区别:

  • reserve : 重新申请内存,改变总空间大小
  • resize :申请改变当前vector对象的有效大小

 

posted @ 2020-08-31 16:58  睡觉lc  阅读(141)  评论(0)    收藏  举报