vector数据结构和数组非常相似,也成为单端数组(前端封闭)
vector与普通数组区别
不同之处在于数组是静态空间,而vector可以动态扩展(容量不够再动态扩展)
*****动态扩展:并不是在原空间之后续接新空间,而是寻找更大的内存空间,然后将原数据拷贝新空间释放原空间(这个可以通过reverse预留出充足的空间)
vector<int> d;
d.reserve(1000);//分配存放1000个int的空间
vector赋值操作
1、重载等号=赋值
vector<int> a(10,1);
b = a;
2、assign
vector<int> c;
c.assign(a.begin(),a.end());
c.assign(5,2);
size()和capacity()区别
size():返回容器的元素数
capacity():返回当前存储空间能够容纳的最大元素数
注意:vector的insert和erase的定位需要使用迭代器定位