头疼的问题!

lixang 2007-06-27 05:41:40
#include<iostream>
#include<vector>
#include <algorithm>
using namespace std;

struct A{ int a ; int b;};
vector<A> VA;
.............................


如何删除VA中b=10所在呢?
注意要彻底的删除,不仅仅只是移除!希望给点代码?
...全文
224 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
taodm 2007-06-27
  • 打赏
  • 举报
回复
去看effective stl ,remove——erase联用的条款。
lixang 2007-06-27
  • 打赏
  • 举报
回复
希望使用泛型算法!
而非你们上面所述!
都怪我没描述清楚!
jinwei1984 2007-06-27
  • 打赏
  • 举报
回复
mark
星羽 2007-06-27
  • 打赏
  • 举报
回复
vector<A>::iterator it = v.begin();

while (it != v.end())
{
if ((*it).b == 10)
{
v.erase(it);
break;
}

it++;
}
lockhall 2007-06-27
  • 打赏
  • 举报
回复
学习~

再学习~
xlbdan 2007-06-27
  • 打赏
  • 举报
回复
直白的:
int i;
for(i=0;i<VA.size();i++)
{
if(VA[i].b==10)
break;
}
vector<A>::iterator it=&VA[i];
VA.erase(it);
iamcaicainiao 2007-06-27
  • 打赏
  • 举报
回复
彻底删除.
两步走.

1,remove if
2,erase

33,317

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧