使用vector :: erase()擦除C ++ Vector中的元素

向量是序列容器,就像动态数组一样工作。向量将元素存储在连续的存储位置中,即以线性顺序存储。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

以上是 使用vector :: erase()擦除C ++ Vector中的元素 的全部内容, 来源链接: utcz.com/z/315997.html

回到顶部