replace

replacefunction template
template < class ForwardIterator, class T >
  void replace ( ForwardIterator first, ForwardIterator last,
                 const T& old_value, const T& new_value );
<algorithm>

Replace value in range

Sets all the elements in the range [first,last) whose current value equals old_value to a value of new_value.

The behavior of this function template is equivalent to:

template < class ForwardIterator, class T >
  void replace ( ForwardIterator first, ForwardIterator last,
                 const T& old_value, const T& new_value )
{
  for (; first != last; ++first)
    if (*first == old_value) *first=new_value;
}

Parameters

first, last
Forward iterators to the initial and final positions in a sequence. The range used is  [first,last), which contains all the elements between  first and  last, including the element pointed by  first but not the element pointed by  last.
#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
class student{
	public:
		int key;
		int value;
	bool operator==(student s){
		return value==s.value;
}
};
int main(){
	vector<student>vec(5);
	vec[0].key=1;
	vec[0].value=1;
	vec[1].key=2;
	vec[1].value=2;
	vec[2].key=2;
	vec[2].value=2;
	vec[3].key=3;
	vec[3].value=3;
	vec[4].key=4;
	vec[4].value=4;
	vector<student>::iterator it;
	replace(vec.begin(),vec.end(),vec[2],vec[4]);
	for(it=vec.begin();it!=vec.end();it++)
		cout<<(*it).value<<endl;
}

old_value
Value to be replaced.
new_value
Replacement value.

Return value

none

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值