在C++的vector中插入和刪除元素,可以使用以下方法:
使用insert()
函數(shù)在vector的指定位置插入一個(gè)元素。該函數(shù)接受兩個(gè)參數(shù),一個(gè)是插入位置的索引,另一個(gè)是要插入的元素。例如,假設(shè)有一個(gè)整數(shù)類型的vector,我們想在索引2的位置插入元素5,可以這樣寫(xiě):
#include <iostream>
#include <vector>
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5};
vec.insert(vec.begin() + 2, 5); // 在索引2的位置插入元素5
// 輸出vector的內(nèi)容
for (int i : vec) {
std::cout<< i << " ";
}
return 0;
}
輸出結(jié)果為:1 2 5 3 4 5
使用erase()
函數(shù)刪除vector中的指定元素。該函數(shù)接受一個(gè)參數(shù),即要?jiǎng)h除元素的索引。例如,假設(shè)有一個(gè)整數(shù)類型的vector,我們想刪除索引為2的元素,可以這樣寫(xiě):
#include <iostream>
#include <vector>
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5};
vec.erase(vec.begin() + 2); // 刪除索引為2的元素
// 輸出vector的內(nèi)容
for (int i : vec) {
std::cout<< i << " ";
}
return 0;
}
輸出結(jié)果為:1 2 4 5
注意:插入和刪除元素時(shí),vector的大小會(huì)相應(yīng)地增加或減少,因此可能會(huì)導(dǎo)致內(nèi)存重新分配。如果需要在插入或刪除元素時(shí)避免內(nèi)存重新分配,可以考慮使用reserve()
函數(shù)預(yù)先分配足夠的內(nèi)存空間。