I have forgotten

• https://me.yahoo.com

# reverse

Reverses the order of the elements

## Definition

The reverse() algorithm is defined in the standard header <algorithm> and in the nonstandard backward-compatibility header <algo.h>.

## Interface

```#include <algorithm>
template < class BidirectionalIterator >
void reverse(
BidirectionalIterator first,
BidirectionalIterator last
);```

Parameters:
Parameter Description
first A bidirectional iterator pointing to the position of the first element in the range within which the elements are being permuted
last A bidirectional iterator pointing to the position one past the final element in the range within which the elements are being permuted

## Description

Reverse function reverses the order of the elements within a range.

None.

## Complexity

The complexity is linear; calls swap one half the length of range `[first,last)` times.

### References

Example:

##### Example - reverse algorithm
Problem
This example of program illustrates the functionality of reverse() algorithm.
Workings
```#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

int main()
{
vector <int> v1;
vector <int>::iterator Iter1;

int i;
for ( i = 0 ; i <= 9 ; i++ )
v1.push_back( i );

cout <<"The original vector v1 is:\n ( " ;
for ( Iter1 = v1.begin( ) ; Iter1 != v1.end( ) ; Iter1++ )
cout <<*Iter1<<" ";
cout <<")."<<endl;

// Reverse the elements in the vector
reverse (v1.begin( ), v1.end( ) );

cout <<"The modified vector v1 with values reversed is:\n ( " ;
for ( Iter1 = v1.begin( ) ; Iter1 != v1.end( ) ; Iter1++ )
cout <<*Iter1<<" ";
cout <<")."<<endl;

return 0;
}```
Solution
Output:

The original vector v1 is:
( 0 1 2 3 4 5 6 7 8 9 ).
The modified vector v1 with values reversed is:
( 9 8 7 6 5 4 3 2 1 0 ).
References