C++ 如何删除vector中的元素

2025-04-27 16:04:29
推荐回答(1个)
回答1:

用迭代器和erase方法(vector做删除效率很低哦)

举个例子:从一个vector里删除偶数,用迭代器做写入操作时要注意迭代器位置状态

#include 
#include 
using namespace std;
int main()
{
vector iv;
for (int i=1; i<10; ++i)
{
iv.push_back(i);
}
vector::iterator it=iv.begin();
while( it {
if (*it%2==0)
{
it=iv.erase(it);  
continue; //删除后it已经指向下一个元素了,所以不能++了,直接continue
}
++it;
}
for (it=iv.begin(); it cout<<*it< return 0;
}