文章目录 (a)向量vector接口与实现 数据类型与数据结构的区别 (b)动态管理向量空间 1,向量的空间是静态的 2,(动态空间管理)当即将发生上溢时,可以模仿蝉褪去原来的壳,扩容 实现代码 3,选用何种扩容策略 实际每次固定尺寸扩容,时间成本大大增加(每隔I都要扩容) 每次扩容两倍,指数级扩容,时间大大减少,如下图 * 平均分析和分摊分析(复杂度分析方法) (c)无序向量 1,循秩访问元素 2,插入元素 3,区间删除 4,单元素删除 5,查找元素操作 5,无序向量唯一化 6,遍历 有序向量 为什么无序向量转化为有序向量后,相关算法就可以优化了? (a)向量vector接口与实现 数据类型与数据结构的区别 (b)动态管理向量空间 1,向量的空间是静态的 会发生上溢与下溢 2,(动态空间管理)当即将发生上溢时,可以模仿蝉褪去原来的壳,扩容 实现代码 template <typename T> void vector<T>::expand(){ if(_size <_capacity)return; _capacity = max(_capacity