STL Algorithms : replace_copy、replace_copy_if

本文展示了一个简单的C++通用算法实现示例,通过使用`replace_copy`与`replace_copy_if`函数,演示了如何将数组中的特定字符替换成另一个字符。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这是学习C++编程思想第六章(通用算法)后,写的一个算法的实现,很简单,为了以后回忆这块时快速上手,就放上一段小的代码:

#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;

bool myfn(char c) { return c=='3';}//判断字符是否为‘3’

int main()
{
	char a[]={'4','1','3','6','7','2','5','0'};
	vector<char> first(8),second(8);

	replace_copy(a,a+sizeof(a)/sizeof(char),first.begin(),'3','@');//注意不要漏写/sizeof(char)
	for (vector<char>::iterator cp1=first.begin();cp1!=first.end();++cp1)
		cout<<" "<<*cp1;

	cout<<endl<<endl;

	replace_copy_if(a,a+sizeof(a)/sizeof(char),second.begin(),myfn,'@');//将字符‘3’替换为‘@’
	for (vector<char>::iterator cp2=second.begin();cp2!=second.end();++cp2)
		cout<<" "<<*cp2;
	cout<<endl;
	return 0;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值