目录
一、vector
Vector是STL中的一种顺序容器,它的底层是利用数组进行实现的。那对vector的操作就可以利用对数组的一些操作方式进行。
(一)对于vector容器的插入删除以及访问的研究:
尾部插入: O(1) 会导致尾部迭代器失效
按位置插入:O(N) 导致插入位置以后的迭代器失效
尾部删除: O(1) 会导致尾部迭代器失效
按位置删除:O(N) 导致删除位置以后的迭代器失效
访问:O(1)
(二)vector的扩容机制
1、倍数开辟,更大的内存
2、旧的数据拷贝到新的内存
3、释放内存
4、指向新内存
(三)优缺点
优点:支持快速的尾部插入和删除以及高速的直接访问
缺点:任意位置的插入和删除的时间复杂度高