您的位置:首页 > 其它

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

2013-01-15 19:07 295 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: