SGI

reverse_copy

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

原型

template <class BidirectionalIterator, class OutputIterator>
OutputIterator reverse_copy(BidirectionalIterator first,
                            BidirectionalIterator last,
                            OutputIterator result);

描述

Reverse_copy将范围内的元素复制[first, last)到范围[result, result + (last - first))使得副本是原始范围的反向。具体来说:对于每个i使得0 <= i < (last - first), reverse_copy执行赋值*(result + (last - first) - i) = *(first + i).

返回值为result + (last - first).

定义

在标准头文件 algorithm 中定义,并在非标准向后兼容头文件 algo.h 中定义。

类型要求

前提条件

复杂度

线性:正好last - first赋值。

示例

vector<int> V;
V.push_back(0);
V.push_back(1);
V.push_back(2);
copy(V.begin(), V.end(), ostream_iterator<int>(cout, " "));
                // Output: 0 1 2
list<int> L(V.size());
reverse_copy(V.begin(), V.end(), L.begin());
copy(L.begin(), L.end(), ostream_iterator<int>(cout, " "));
                // Output: 2 1 0

注释

另请参阅

reverse, copy
[Silicon Surf] [STL Home]
版权所有 © 1999 Silicon Graphics, Inc。 保留所有权利。 商标信息