替换
|
|
类别: 算法 |
组件类型: 函数 |
原型
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。即:对于每个迭代器i,如果*i == old_value则执行赋值*i = new_value.
定义
在标准头 algorithm 中定义,在非标准后向兼容性头 algo.h 中定义。类型要求
的前提条件
复杂度
线性的。替换执行次数恰好为last - first相等性比较,且至多last - first次赋值。示例
vector<int> V;
V.push_back(1);
V.push_back(2);
V.push_back(3);
V.push_back(1);
replace(V.begin(), V.end(), 1, 99);
assert(V[0] == 99 && V[3] == 99);
注意事项
另请参见
replace_if, replace_copy, replace_copy_if
版权所有 © 1999 Silicon Graphics, Inc. 保留所有权利。
TrademarkInformation