C++ 算法 replace() 函数
定义和用法
replace() 函数用于将数据范围内所有匹配指定值的元素替换为新值。
数据范围通过迭代器指定。
提示:如需保留原始数据并创建替换后的新数据范围,可使用 replace_copy() 函数。
实例
将 vector 中的 "Ford" 替换为 "Toyota":
vector<string> cars = {"Volvo", "BMW", "Ford", "Tesla"};
replace(cars.begin(), cars.end(), (string)"Ford", (string)"Toyota");
for (string car : cars) {
cout << car << "\n";
}
语法
replace(iterator start, iterator end, <type> find, <type> replace);
其中 <type> 表示数据范围包含的数据类型。
参数
| 参数 | 描述 |
|---|---|
| start | 必需。指向数据范围起始位置的迭代器。 |
| end |
必需。指向数据范围结束位置的迭代器。 将搜索并替换该位置之前的元素。 |
| find | 必需。需要被替换的目标值。 |
| replace | 必需。用于替换的新值。 |
技术细节
- 该函数直接修改原始数据范围
- 执行线性搜索,时间复杂度为 O(n)
- 会替换范围内所有匹配项,包括重复值
相关页面
教程:C++ 数据结构
教程:C++ 迭代器
教程:C++ 算法