标准库容器怎样移除与某一值相等的所有元素


vectors 并未提供任何函数可以直接移除"与某值相等"的所有的元素.这是算法发挥威力的时候。
以下语句可将所有其值为 val 的元素移除:
std::vector<Elem> coll;
...
// 移除所有与 val 值相等的元素.
coll.erase(remove(coll.begin(), coll.end(), val), coll.end());

 

如果只是要移除"与某值相等"的第一个元素, 可以这样做
std::vector<Elem> coll;
//...
std::vector<Elem>::iterator pos;
pos = find(coll.begin(), coll.end(), val);

if (pos != coll.end())
{
 coll.erase(pos);
}

 

以上摘自《C++ 标准程序库》 p154

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值