SGI

替换

类别: 算法 组件类型: 函数

原型

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
[Silicon Surf] [STL Home]
版权所有 © 1999 Silicon Graphics, Inc. 保留所有权利。 TrademarkInformation