STL 之vector
数据结构: vector 底层是以2倍扩容的动态数组 头文件: #include<vector>
基本操作 :
- 增加
- push_back(val) O(1) 末尾增加 可能导致扩容
- insert(it,val) O(n) 迭代器指向的位置添加元素
- 删除
- pop_back(val) O(1) 末尾删除
- erase(it) O(n) 删除迭代器指向的位置
- 查询
- operator [] O(1) 下标访问
- iterator O(n) 迭代器遍历
- find for_each 范性算法
- 常用方法
- size() 求大小
- empty() 判空
- reserve(20) :vector 预留空间
- resize(20) : 重置大小
- swap : 交换两个容器的元素,可释放内存
reserve 与 resize 的区别:
- reserve : 重新申请内存,改变总空间大小
- resize :申请改变当前vector对象的有效大小

浙公网安备 33010602011771号