C++ 泛型算法之 replace 和 replace_copy

replace算法:对输入序列做读写操作,将序列中特定值替换为新值。

relplace的四个参数:一对指定范围的迭代器和两个值,把第一个值替换为第二个值。

#include <algorithm>
replace(ilst.begin(), ilst.end(), old_val, new_val);  //把所有old_val值替换为new_val
这个调用将所有old_val替换为new_val。

如果不想改变原来的序列,则调用replace_copy。这个算法接受第三个迭代器实参,指定保存调整后序列的目标位置。

vector<int> ivec;
replace_copy(ilst.begin(), ilst.end(), back_inserter(ivec), 0, 12);

调用该函数后,ilst没有改变,ivec存储了ilst的一份副本,而ilst内的所有0在ivec中都变成了12。

此处的back_inserter是插入迭代器,更多相关例子见:http://blog.csdn.net/glp_hit/article/details/8112787

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值