The C++ algorithm::replace function is used to assign new_value to all elements in the range [first, last) which are equal to the old_value.

### Syntax

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

### Parameters

 `first` Specify initial position of the forward iterator. The range used is [first,last). `last` Specify final position of the forward iterator. The range used is [first,last). `old_value` Specify the value to be replaced. `new_value` Specify the value to replace with.

None.

### Time Complexity

Linear i.e, Θ(n).

### Example:

In the below example, the algorithm::replace function is used to replace the specified value with a new value in a given range.

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

int main (){
vector<int> vec{10, 5, 38, 5, 5, 78};
vector<int>::iterator it;

cout<<"Before replace call, vec contains:";
for(it = vec.begin(); it != vec.end(); ++it)
cout<<" "<<*it;

//replace all 5 with 9 in the vector vec
replace(vec.begin(), vec.end(), 5, 9);

cout<<"\nAfter replace call, vec contains:";
for(it = vec.begin(); it != vec.end(); ++it)
cout<<" "<<*it;

return 0;
}
```

The output of the above code will be:

```Before replace call, vec contains: 10 5 38 5 5 78
After replace call, vec contains: 10 9 38 9 9 78
```