C++ Algorithm replace_if()C++ Algorithm replace_if() function is used to assign new_value to all the elements in the range [first, last) for which pred predicate returns true. This function examines each element in a range and replaces it if it satisfies a specified predicate. SyntaxParameterfirst: A forward iterator pointing to the initial position in the range from which elements are being replaced. last: A forward iterator pointing to the final position in the range from which elements are being replaced. pred: The unary predicate function that must be satisfied is the value of the element is to be replaced. new_value: The new value assigned to the elements whose old value satisfies the predicate. Return valueNone ComplexityComplexity is linear in the distance within first and last. Applies pred to each element and assigns to those matching also. Data racesThe objects in the range [first1, last1) are accessed and potentially modified. Exception safetyThis function throws an exception if any of the pred, the element assignments or the operations on iterators throws an exception. Please note that invalid parameters cause an undefined behavior. Example 1Let's see the simple example to demonstrate the use of replace_if(): Output: 10,10,2,10,2, The above example determines odd numbers from vector v and replaces all found element with 10. Example 2Let's see another simple example: Output: The original vector v1 is: ( 4 7 7 7 0 5 7 1 6 9 3 7 8 2 ). The vector v1 with a value 70 replacing those elements satisfying the greater6 predicate is: ( 4 70 70 70 0 5 70 1 6 70 3 70 70 2 ). In the above example, vector v1 with a value 70 replacing those elements satisfying the greater 6 predicate. Example 3Let's see another simple example: Output: Here are the values in the vector: 1 2 2 3 4 5 2 6 Now we replace all values divisible by 3 with 123. Here are the revised contents of the vector: 1 2 2 123 4 5 2 123 Example 4Let's see another simple example: Output: myvector contains: 0 2 0 4 0 6 0 8 0 Next TopicC++ Algorithm |
We provides tutorials and interview questions of all technology like java tutorial, android, java frameworks
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India