向量是序列容器,就像动态数组一样工作。向量将元素存储在连续的存储位置中,即以线性顺序存储。vector :: erase()是c ++中的内置函数,用于从vector中删除特定元素或删除元素范围。
语法:
VectorName.erase (pos); VectorName.erase(StartPos, EndPos);
在此,VectorName是声明时使用的向量的名称。
参数:
位置:这是要删除的向量元素的位置,由迭代器表示。
StartPos:它是迭代器,指定要删除的范围的开始。
EndPos:迭代器指向要从范围中删除的最后一个元素之前的一个位置。
注意:擦除(StartPos,EndPos)指定范围,该范围包括StartPos和EndPos之间的所有元素,包括StartPos指向的元素,但不包括EndPosi指向的元素。e [StartPos,EndPos)。
示例1:此示例显示vector :: erase()函数的基本工作。
#include<iostream> #include<vector> using namespace std; int main () { std::vector<int> MyVector; //插入向量 for (int i=1; i<=8; i++) MyVector.push_back(i); cout << " After elements insertion : "; for (unsigned i=0; i< MyVector.size(); ++i) cout << ' ' << MyVector [i]; cout<<endl; //删除第三个元素 MyVector.erase (MyVector.begin()+3); cout << " After removing 3rd element: "; for (unsigned i=0; i< MyVector.size(); ++i) cout << ' ' << MyVector [i]; cout<<endl; //删除前三个元素: MyVector.erase (MyVector.begin(),MyVector.begin()+3); cout << " After removing first three elements: "; for (unsigned i=0; i< MyVector.size(); ++i) cout << ' ' << MyVector [i]; return 0; }
输出结果
After elements insertion : 1 2 3 4 5 6 7 8 After removing 3rd element: 1 2 3 5 6 7 8 After removing first three elements: 5 6 7 8