在C++的vector中插入和删除元素,可以使用以下方法:
使用insert()
函数在vector的指定位置插入一个元素。该函数接受两个参数,一个是插入位置的索引,另一个是要插入的元素。例如,假设有一个整数类型的vector,我们想在索引2的位置插入元素5,可以这样写:
#include <iostream>
#include <vector>
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5};
vec.insert(vec.begin() + 2, 5); // 在索引2的位置插入元素5
// 输出vector的内容
for (int i : vec) {
std::cout<< i << " ";
}
return 0;
}
输出结果为:1 2 5 3 4 5
使用erase()
函数删除vector中的指定元素。该函数接受一个参数,即要删除元素的索引。例如,假设有一个整数类型的vector,我们想删除索引为2的元素,可以这样写:
#include <iostream>
#include <vector>
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5};
vec.erase(vec.begin() + 2); // 删除索引为2的元素
// 输出vector的内容
for (int i : vec) {
std::cout<< i << " ";
}
return 0;
}
输出结果为:1 2 4 5
注意:插入和删除元素时,vector的大小会相应地增加或减少,因此可能会导致内存重新分配。如果需要在插入或删除元素时避免内存重新分配,可以考虑使用reserve()
函数预先分配足够的内存空间。