标准库容器怎样移除与某一值相等的所有元素
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
以下语句可将所有其值为 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
相关文章推荐
- 移除数组 arr 中的所有值与 item 相等的元素。不要直接修改数组 arr,结果返回新的数组
- 移除容器中与某值相等的元素
- 3 移除数组arr中所有与item相等的元素,不更改原数组。
- 移除数组 arr 中的所有值与 item 相等的元素,直接在给定的 arr 数组上进行操作,并将结果返回
- js移除元素所有click绑定事件
- AS3如何移除容器下所有子显示对象
- 获取指定数量的容器的各自的所有元素,并可对容器分页
- 禁用/启用容器内的所有元素
- 在JSP的规范中提供了一些标准标签(Standard Tag),所有的容器都支持这些标签
- 怎样删除STL容器中的元素
- 选择删除STL标准容器元素的方法
- 【C++】容器适配器实现栈Stack的各种功能(入栈、出栈、判空、大小、访问所有元素等)
- 为什么auto_ptr智能指针不能作为STL标准容器的元素
- vector 移除与某值想得的所有元素
- swift - 移除界面上的所有元素
- Swift - 移除页面视图上的所有元素
- Swift判断二个数组中的所有元素是否相等
- 用JS获取元素某一事件上绑定的所有Listener
- jQuery移除指定元素后的所有元素
- 怎样正确 移除迭代器所指元素