Another useful STL algorithm is replace(), which is defined in the standard header
void replace (ForwardIterator start, ForwardIterator end, const T & old_value, const T & new_value);
The first and the second arguments mark the sequence’s beginning and end, respectively. replace() changes every occurrence of old_value in the sequence to new_value.
The following example uses replace() to replace every occurrence “NT” by “Win2000” in a vector of strings. You can apply replace() to built-in arrays, too. In the second example, replace() scans an array of integers and replaces every 1 by 5:
#include #include #include using namespace std; main() { vector vs; // fill vector vs.push_back ("Unix"); vs.push_back ("VMS"); vs.push_back ("NT"); // replace every occurrence of "NT" by "Win2000" replace (vs.begin(), vs.end(), "NT", "Win2000"); // replace() can be applied to built-in arrays too int n [] = {1, 0, 2, 1}; replace( n, n + 4, -1, 5); // replace every 1 by 5}