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

要求删除从键盘键入的指定内容(vector中存有stringint和float类型的变量),如果不存在这些内容则报错。求大神代码指导!... 要求删除从键盘键入的指定内容(vector中存有string int和float类型的变量),如果不存在这些内容则报错。
求大神代码指导!
展开
 我来答
庄政警
2018-01-02 · TA获得超过9916个赞
知道大有可为答主
回答量:1113
采纳率:94%
帮助的人:877万
展开全部

用迭代器和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;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式