Defined in header | | |
template<class BidirIt > | | |
| | |
Reverses the order of the elements in the range [first, last)
Behaves as if applying std::iter_swap to every pair of iterators first+i, (last-i) - 1
for each non-negative i < (last-first)/2
Parameters
first, last | - | the range of elements to reverse |
Type requirements | ||
- | ||
-The type of dereferenced |
Return value
(none)
Possible implementation
|
Example
Run this code
#include <vector>
#include <iostream>
#include <algorithm>
int main()
{
std::vector<int> v({1,2,3});
std::reverse(std::begin(v), std::end(v));
std::cout << v[0] << v[1] << v[2] << '\n';
int a[] = {4, 5, 6, 7};
std::reverse(&a[0], &a[4]);
std::cout << a[0] << a[1] << a[2] << a[3] << '\n';
}
注意reverse的第二个参数不是序列的最后一个元素的位置,而是此位置之后再向后一个,
Reverses the order of the elements in the range [first, last)
例子中,reverse 反转长度4的int数组,第二参数是&a[4](最后一个元素a[3]的后一个)