SGI

remove_copy

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

原型

template <class InputIterator, class OutputIterator, class T>
OutputIterator remove_copy(InputIterator first, InputIterator last,
                           OutputIterator result, const T& value);

说明

remove_copy将不等于value的元素从范围[first, last)复制到以result开头的范围中。返回值为结果范围的结尾。此操作是稳定的,这意味着复制元素的相对顺序与在范围中相同[first, last).

定义

在标准头文件和非标准的后向兼容性头文件中定义 algorithmalgo.h

类型要求

先决条件

复杂度

线性。具体为last - first个相等比较以及最多last - first次赋值。

示例

在标准输出中打印向量的所有非零元素。
vector<int> V;
V.push_back(-2);
V.push_back(0);
V.push_back(-1);
V.push_back(0);
V.push_back(1);
V.push_back(2);

remove_copy(V.begin(), V.end(), 
            ostream_iterator<int>(cout, "\n"),
            0);

注意

另请参见

copy, remove, remove_if, remove_copy_if, unique, unique_copy.
[Silicon Surf] [STL Home]
版权所有 © 1999 Silicon Graphics, Inc. 保留所有权利。 商标信息