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位置添加元素2
cout << "第一次处理后的结果" << endl;
for (int i = 0; i < vec.size(); i++)
{
cout << vec[i] << "\t";
}
cout << endl;
vec.insert(vec.begin() + 3, 3);//在第3位置添加元素2
cout << "第二次处理后的结果" << endl;
for (int i = 0; i < vec.size(); i++)
{
cout << vec[i] << "\t";
}
system("pause");
}
运行结果: