定义
Vector(向量)是C++ STL(标准模板库)中的一个容器类,在内存中连续存储同种数据类型的元素,底层是一个动态分配的数组,可以动态地增加或减少其大小。
使用
在C++中,可以使用以下方式定义一个vector:
```
vector
也可以通过以下方式定义一个具有初始值的vector:
vector
可以使用以下方法来访问和操作vector的元素:
v.size(); //返回vector中元素的个数
v.push_back(5); //在vector的末尾插入一个元素5
v.pop_back(); //删除vector的末尾元素
v.front(); //返回vector的第一个元素
v.back(); //返回vector的最后一个元素
v[i]; //返回vector中索引为i的元素
v.empty(); //返回vector是否为空,为空返回true,否则返回false
优点
相对于数组,Vector有以下优点:
- 动态分配内存,可以灵活地增加或减少其大小
- 支持尾部插入和删除元素的操作,还可以在中间插入和删除元素
- 可以访问和遍历vector的元素,支持使用下标方式访问
缺点
相对于数组,Vector的缺点是:
- 在进行插入和删除操作时,需要移动后面的元素,所以时间复杂度会比较高。
- 在访问vector的元素时,没有像数组一样可以直接计算出元素的地址,需要进行一次额外的指针解引用操作,所以时间复杂度略高。
总结
Vector在STL中是一个非常重要的容器类,具有动态分配内存、支持插入和删除操作、支持下标访问等优点,适用于需要动态增减元素的场景。
0