📜  C++ STL-algorithm.replace()函数(1)

📅  最后修改于: 2023-12-03 14:39:50.684000             🧑  作者: Mango

C++ STL-algorithm.replace()函数

简介

C++ STL(标准模板库)中的algorithm库为程序员提供了各种算法功能。其中replace()函数是用于查找并替换序列元素的函数。

replace()函数的工作方式是通过迭代器对序列进行遍历,找到符合条件的元素进行替换。函数返回值为void类型。

replace()函数需要引用两个迭代器——begin和end,表示序列的起始和结束位置。在查找满足替换条件的元素时,还需要提供一个要替换的元素值和一个目标值,当查找到要替换的元素值时,将其替换为目标值。

函数原型
template <class ForwardIterator, class T>
void replace (ForwardIterator first, ForwardIterator last, const T& old_value, const T& new_value);

函数参数说明:

  • first:要查找替换的序列的起始位置。
  • last:要查找替换的序列的结束位置。
  • old_value:要被替换的元素值。
  • new_value:替换的目标值。
函数示例

下面我们来看一个replace()函数的示例代码。

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

int main () {  
    vector<int> vec = {1, 2, 3, 2, 4, 5, 2, 6};  
    
    // 使用replace()函数,替换值为2的元素为10  
    replace(vec.begin(), vec.end(), 2, 10);

    // 输出替换后的vector中的元素  
    for (auto i : vec) {  
        cout << i << " ";  
    }  
    
    return 0;  
} 

输出结果如下:

1 10 3 10 4 5 10 6   
总结

replace()函数是C++ STL-algorithm库中的一个有用的算法功能。该函数采用迭代器进行序列遍历,将符合条件的元素进行替换。使用replace()函数能大大简化程序员的开发工作,提高程序开发效率。