手写STL之Vector
代码仓库:yanglianoo/My_STL at timer (github.com)
1.Vector 概述在C++ STL(标准模板库)中,vector 是一个动态数组容器,它是一个模板类具有以下特性:
动态大小: vector 的大小可以根据需要动态增长或缩小。它可以自动调整内部存储空间,以适应容器中元素的数量。
连续存储: vector 中的元素在内存中是连续存储的,这使得对元素的随机访问变得高效。
快速插入和删除: 在 vector 的末尾插入或删除元素是高效的,时间复杂度为常数。但在中间或开头插入或删除元素的操作可能会导致元素的移动,时间复杂度为线性。
随机访问: vector 支持通过索引进行随机访问。可以使用下标运算符 [] 或 at() 函数来访问特定位置的元素。
动态调整内存: 当 vector 的大小超过当前分配的内存空间时,它会重新分配更大的内存块,并将现有元素移动到新的内存中。这可以确保容器始终具有足够的内存来存储元素。
元素访问: 可以使用迭代器来遍历 vector 中的元素。可以使用 begin() 和 end() 成员函数获取指向容器开 ...