ANSWER
C++中的vector是一个能够存放任意类型的动态数组,能够增加和压缩数据,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库。以下是使用vector的详细步骤和注意事项:
头文件
在使用vector时,需要包含vector头文件
include
初始化
如果vector的元素类型是int,默认初始化为0;如果vector元素类型为string,则默认初始化为空字符串。
可以通过以下方式初始化vector
vector
vector
vector
vector
访问vector中的元素
可以通过下标访问vector中的元素
vector
cout << v1[0] << endl; // 输出1
可以通过迭代器访问vector中的元素
vector
for (auto it = v1.begin(); it != v1.end(); ++it) {
cout << *it << endl;
}
在vector中添加元素
可以通过push_back()函数向vector中添加元素
vector
v1.push_back(4);
在vector中删除元素
可以通过pop_back()函数删除vector中的最后一个元素
vector
v1.pop_back();
可以通过erase()函数删除vector中的指定元素
vector
v1.erase(v1.begin() + 1); // 删除第二个元素
vector的内存自增长
vector的内存空间只会增长,不会减小
vector容器的元素以连续方式存放,每一个元素都紧挨着前一个元素存储
当vector的元素数量超过其容量时,vector会重新分配内存,将原有元素复制到新的内存中
这个过程可能会很耗时,因此在需要对vector进行大量操作时,可以使用reserve()函数提前预分配内存
vector
v1.reserve(100); // 预分配100个元素的内存空间
vector的优缺点
优点
vector是一个动态数组,可以根据需要增加或压缩数据
vector的元素以连续方式存放,可以快速访问元素
vector提供了多种操作函数,方便对元素进行添加、删除、排序等操作
缺点
当vector的元素数量超过其容量时,vector会重新分配内存,将原有元素复制到新的内存中,这个过程可能会很耗时
在vector中插入或删除元素时,可能会导致vector中其他元素的位置发生改变,影响程序的运行效率