算法库(三)
来源:互联网 发布:nginx 禁止ip频繁访问 编辑:程序博客网 时间:2024/06/02 07:01
1. for_each(beg,end,f ):按照f方式遍历区间
2. transform(beg,end,dest,f ):按照f方式遍历区间,将得到的结果写入dest中
void print( string strvlaue )
{
cout<<strvlaue<<"\n";
}
stringoperatorString( string strValue )
{
strValue += "1";
returnstrValue;
}
int main()
{
vector<string> vec_string;
for( int i = 0;i <= 4;++ i )
{
charch[10];
memset( ch,0,10 );
_itoa_s( i,ch,10 );
vec_string.push_back( ch );
}
//for_each(vec_string.begin(),vec_string.end(),print );
for_each(vec_string.begin(),vec_string.end(),operatorString );
for_each( vec_string.begin(),vec_string.end(),print);
vector<string> vec_insert;
transform(vec_string.begin(),vec_string.end(),back_inserter( vec_insert ),operatorString);
for_each(vec_insert.begin(),vec_insert.end(),print );
system("pause");
return0;
}
3. count:统计某元素出现的次数
class A
{
public:
A()
{
}
A( intno,string name ):iNo( no ),strName( name ){}
bool operator==( constA& a )
{
returna.strName == strName;
}
string retName()
{
returnstrName;
}
bool operator<( constA& a )
{
returniNo < a.iNo;
}
friendostream& operator<<( const ostream output,constA& a );
private:
intiNo;
string strName;
};
ostream& operator<<( ostream output,A& a )
{
returnoutput<<a.retName();
}
int main()
{
vector<A> lst_A;
A a1( 1,"22");
lst_A.push_back( a1 );
A a2( 2,"33");
lst_A.push_back( a2 );
A a3( 3,"44");
lst_A.push_back( a3 );
A a4( 4,"55");
lst_A.push_back( a4 );
A a5( 5,"66");
lst_A.push_back( a5 );
lst_A.push_back( a5 );
lst_A.push_back( a5 );
lst_A.push_back( a5 );
intiCount = count( lst_A.begin(),lst_A.end(),A( 0,"66") );
system("pause");
return0;
}
transform五个参数的版本:
int coll[]={ 5,4,6,7,1,2,3 };
//transform(coll,coll + 6,coll,negate<int>( ));
transform( coll,coll+ 6,coll,coll,plus<int>() );
copy( coll,coll +6,ostream_iterator<int>( cout," ") );
- 算法库(三)
- 算法三
- STL算法库-数字运算(三)
- 【算法导论】排序算法 三
- STL算法---查找算法(三)
- 算法三(回溯算法)
- 算法(三)Hash-算法
- 排序算法(三)
- {算法}三整数排序
- 三种排序算法
- 三种排序算法
- 算法面试题三
- 逆矩阵算法三
- 逆矩阵算法三
- 三种洗牌算法
- 入门算法三
- YUV(三)-YUV420_to_RGB24 算法
- 作业三--归并算法
- simhash与重复信息识别
- android 获取手机GSM/CDMA信号信息
- 移动开发中HTML5能否替代本地程序?
- Ollydbg 中断方法浅探
- problem 16 高精度乘法
- 算法库(三)
- 项目中用转dojox.grid.DataGrid的几点必知
- 算法库(四)
- spring jdbcTemplate的使用说明
- Vmware虚拟机不能正常启动linux,提示8254 timer不能连接到IO-APIC
- Socket policy request process
- 【通信】通信网络基础分类
- 2.asm-asm内联汇编
- 派生类_1