vector :: erase()函数,以及C ++ STL中的示例
C++vector::erase()函数
vector::erase()是“vector”头文件的库函数,用于擦除/删除向量中的元素,它可以从指定的迭代器位置删除一个元素,也可以删除一系列元素。
注意:要使用向量,请包含<vector>标头。
vector::erase()函数的语法
//删除一个元素 vector::erase(iterator position); //删除一系列元素 vector::erase(iterator start_position, iterator end_position);
参数:
如果要删除一个元素:position–是需要从中删除元素的迭代器位置。
在删除一系列元素的情况下:start_position,end_position–是需要从中删除元素的开始和结束迭代器位置。
返回值:iterator–返回一个迭代器,该迭代器指向元素,其后是vector::erase()函数删除的最后一个元素。
示例
Input: vector<int> v1{10, 20, 30, 40, 50}; //删除一个元素 v1.erase(v1.begin() + 2); //删除第二个索引元素 //删除一系列元素 v1.erase(v1.begin() + 1, v1.begin() + 3); //删除1,2个索引元素 Output: //如果我们打印值 v1: 10 50
C++程序演示vector::erase()函数的示例
//C++STL程序演示示例 //vector::erase()函数 #include <iostream> #include <vector> using namespace std; int main(){ //向量声明 vector<int> v1{ 10, 20, 30, 40, 50 }; //打印元素 cout << "v1: "; for (int x : v1) cout << x << " "; cout << endl; //删除一个元素 v1.erase(v1.begin() + 2); //删除第二个索引元素 //打印元素 after remove one element cout << "After removing one element..." << endl; cout << "v1: "; for (int x : v1) cout << x << " "; cout << endl; //删除一系列元素 v1.erase(v1.begin() + 1, v1.begin() + 3); //删除1,2个索引元素 //打印元素 after remove one element cout << "After removing a range of elements..." << endl; cout << "v1: "; for (int x : v1) cout << x << " "; cout << endl; return 0; }
输出结果
v1: 10 20 30 40 50 After removing one element... v1: 10 20 40 50 After removing a range of elements... v1: 10 50
参考:C++vector::erase()