关于remove_if

原创 2007年10月02日 14:01:00

今天试验了一下remove_if,发现只是把符合条件的元素移到前面,而容器的长度是没有变化的

//输出容器中元素

template <class T>
void printout(const vector<T>& v)
{
 
  vector<T>::const_iterator it = v.begin();
  while (it != v.end())
   cout << *it++ << endl;
 
}

//比较谓词

bool compare (double x)
{
 return x == 0;
}
int main()
{

double x;
 vector<double> v;
 while (cin >> x)
  v.push_back(x);
 remove_if(v.begin(), v.end(), compare);
 printout(v);
 cout << v.size() << endl;
 return 0;
}

另外使用remove_copy只是把不符合条件的移到另一个容器,对本身的容器是没有影响的

remove_if用法

remove_if function template template ForwardIterator remove_if ( ForwardIterator ...

remove_if

// remove_if.cpp -- 2011-10-03-16.00 #include "stdafx.h" #include #include #include #include...

remove_if只支持一元谓词,害死我了

remove_if只支持一元谓词,害死我了 消除满足给定范围的特性,而不会影响没有剩余的元素顺序与返回一个新范围的末尾指定值的元素。 template Forwar...

remove_copy_if

// remove_copy_if.cpp -- 2011-10-03-22.31 #include "stdafx.h" #include #include #include #in...

JSTL 基本标签二<c:if> <c:choose><c:set > <c:remove><c:url>

2.判断 c:if 语法     ${s } + ${v }   页面输出的结果为true + zhangsan0  说明 1. var="" 为判断的结果  2.EL 表达式中使用 ...

remove/remove_if算法配合容器的erase方法实现容器删除元素功能

remove   算法描述:查找的得到第一个元素的位置,然后从此位置开始遍历容器,将后面的元素依次前移,跳过和value相同值的元素,也就是说,所有和value相同值的元素都会被覆盖,而其他的元素都会...

STL algorithm算法remove_copy,remove_copy_if(48)

remove_copy原型: std::remove_copy template OutputIterator remove_copy (InputIterator first, InputI...

C++标准库---移除性算法之一remove()&remove_if()

移除性算法         本系列所有算法根据元素值或某一准则,在一个区间内移除某些元素。这些算法并不能改变元素的数量,它们只是以逻辑上的思考,将原本置于后面的“不移除元素”向前移动,覆盖那些被移除...

变异算法之删除(remove, remove_if, remove_copy, remove_copy)

函数原型//remove template FwdIt remove(FwdIt first, FwdIt lasst, const T & val); 即:if(!(*(first+N)==v...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于remove_if
举报原因:
原因补充:

(最多只允许输入30个字)