C++ 如何删除vector中的元素 10
要求删除从键盘键入的指定内容(vector中存有stringint和float类型的变量),如果不存在这些内容则报错。求大神代码指导!...
要求删除从键盘键入的指定内容(vector中存有string int和float类型的变量),如果不存在这些内容则报错。
求大神代码指导! 展开
求大神代码指导! 展开
1个回答
展开全部
用迭代器和erase方法(vector做删除效率很低哦)
举个例子:从一个vector里删除偶数,用迭代器做写入操作时要注意迭代器位置状态
#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector<int> iv;
for (int i=1; i<10; ++i)
{
iv.push_back(i);
}
vector<int>::iterator it=iv.begin();
while( it<iv.end())
{
if (*it%2==0)
{
it=iv.erase(it);
continue; //删除后it已经指向下一个元素了,所以不能++了,直接continue
}
++it;
}
for (it=iv.begin(); it<iv.end(); ++it)
cout<<*it<<endl;
return 0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询