Using 'std::replace' to replace value 5 by 8 : replace « STL Algorithms Modifying sequence operations « C++ Tutorial






#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
// The unary predicate used by replace_if to replace even numbers
bool IsEven (const int & nNum){
    return ((nNum % 2) == 0);
}

int main ()
{
    // Initialize a sample vector with 6 elements
    vector <int> v (6);

    // fill first 3 elements with value 8
    fill (v.begin (), v.begin () + 3, 8);

    // fill last 3 elements with value 5
    fill_n (v.begin () + 3, 3, 5);

    for (size_t nIndex = 0; nIndex < v.size (); ++ nIndex){
        cout << "Element [" << nIndex << "] = ";
        cout << v [nIndex] << endl;
    }

    cout << endl << "Using 'std::replace' to replace value 5 by 8" << endl;
    replace (v.begin (), v.end (), 5, 8);

    for (size_t nIndex = 0; nIndex < v.size (); ++ nIndex){
        cout << "Element [" << nIndex << "] = ";
        cout << v [nIndex] << endl;
    }

    return 0;
}








24.13.replace
24.13.1.Use the generic replace algorithm to replace all occurrences of R by S
24.13.2.Use std::replace to replace elements in vector by value
24.13.3.Use replace to replace all elements with value 6 with 42
24.13.4.Use replace to replace all elements with value less than 5 with 0
24.13.5.Use replace() to replace elements in a vector
24.13.6.Using 'std::replace' to replace value 5 by 8
24.13.7.Replace values in vector with another value with replace()