反转
 |
 |
| 类别: 算法 |
组件类型: 函数 |
原型
template <class BidirectionalIterator>
void reverse(BidirectionalIterator first, BidirectionalIterator last);
描述
反转反转一个范围。也就是说:对于每个i使得0 <= i <= (last - first) / 2),它交换*(first + i)和*(last - (i + 1)).
定义
在标准头文件 algorithm 中定义,并在非标准向后兼容头文件 algo.h 中定义。类型要求
- BidirectionalIterator 是 双向迭代器 的模型。
- BidirectionalIterator 是可修改的。
先决条件
复杂度
线性reverse(first, last)进行(last - first) / 2次调用swap.
示例
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
reverse(V.begin(), V.end());
copy(V.begin(), V.end(), ostream_iterator<int>(cout, " "));
// Output: 2 1 0
注释
另请参阅
reverse_copy
版权所有 © 1999 Silicon Graphics, Inc. 保留所有权利。
商标信息