std::remove(begin, end, value)
该函数移除一个从begin到end位置,值等于value的数据。这个函数只是通过指针的移动来完成删除操作,将不等于value的值放到链表的最前端,然后返回一个指向新的尾值的迭代器(比如,[1,2,3,4,2], 最后会指向index=3,0是第一个元素)。
std::distance(begin, end);
返回begin与end之间的距离, 即end-begin
例子:返回一个vector里面不等于val的值的个数
int removeElement(vector<int>& nums, int val) {
return std::distance(nums.begin(), std::remove(nums.begin(), nums.end(), val));
}
本文深入探讨了C++标准模板库中std::remove和std::distance两个函数的用法与特性。std::remove函数能够高效地从容器中移除指定值,而std::distance则用于测量两个迭代器之间的距离。文章通过一个具体的vector容器示例,展示了如何结合使用这两个函数来计算容器中不等于特定值的元素数量。
&spm=1001.2101.3001.5002&articleId=103556827&d=1&t=3&u=0b018d1319d64c00b4d5a08774d575d7)
9616

被折叠的 条评论
为什么被折叠?



