1、函数介绍
C++中vector容器可以删除/添加制定位置处的元素,分别使用erase()与insert()函数。其中函数内需要两个参数,第一个为指定删除/添加的位置,第二个元素为删除/添加的元素值。
iterator insert(const_iterator _Where, _Ty&& _Val)
iterator erase(const_iterator _Where)
2、代码示例
元素删除
#include<iostream>
#include<vector>
using namespace std;void main()
{vector<double> vec{ 1, 2, 3, 4, 5, 6, 7 };cout << "处理前结果" << endl;for (int i = 0; i < vec.size(); i++){cout << vec[i] << "\t";}cout << endl;vec.erase(vec.begin() + 1);//删除第2个元素 即删除vec[1]cout << "第一次处理后的结果" << endl;for (int i = 0; i < vec.size(); i++){cout << vec[i] << "\t";}cout << endl;vec.erase(vec.begin() + 1);//删除第2个元素 即删除vec[1]cout << "第二次处理后的结果" << endl;for (int i = 0; i < vec.size(); i++){cout << vec[i] << "\t";}system("pause");}
运行结果:
元素添加
#include<iostream>
#include<vector>
using namespace std;void main()
{vector<double> vec{ 1, 2, 3, 4, 5, 6, 7 };cout << "处理前结果" << endl;for (int i = 0; i < vec.size(); i++){cout << vec[i] << "\t";}cout << endl;vec.insert(vec.begin() + 1, 2);//在第2位置添加元素2cout << "第一次处理后的结果" << endl;for (int i = 0; i < vec.size(); i++){cout << vec[i] << "\t";}cout << endl;vec.insert(vec.begin() + 3, 3);//在第3位置添加元素2cout << "第二次处理后的结果" << endl;for (int i = 0; i < vec.size(); i++){cout << vec[i] << "\t";}system("pause");}
运行结果: