Related Articles

# std::reverse() in C++

• Difficulty Level : Easy
• Last Updated : 17 Feb, 2021

reverse() is a predefined function in header file algorithm. It is defined as a template in the above mentioned header file. It reverses the order of the elements in the range [first, last) of any container. The time complexity is O(n).
Note: The range used is [first, last), which contains all the elements between first and last, including the element pointed by first but not the element pointed by last.
Syntax:

```void reverse(BidirectionalIterator first, BidirectionalIterator last)
BidirectionalIterator is an iterator that can be used to access any
elements of a container in both forward and backward direction.```

Examples:

```Input : 10 11 12 13 14 15 16 17
Output :10 11 12 13 14 17 16 15
Explanation:
reverse(v.begin() + 5, v.begin() + 8);
In the above function, input we have applied reverse() on the vector
from index 5 to index 7.
Therefore when we display the vector we get reverse order
from index 5 to index 7.```

## CPP

 `// CPP program to illustrate``// std::reverse() function of STL``#include ``#include ``#include ``using` `namespace` `std;`` ` `int` `main()``{``    ``vector<``int``> vec1;``    ``vector<``int``>::iterator p;`` ` `    ``// Inserting elements in vector``    ``for` `(``int` `i = 0; i < 8; i++) {``        ``vec1.push_back(i + 10);``    ``}``    ``// Displaying elements of vector``    ``cout<<``"Initial Vector:"``< vec2{ 4, 5, 6, 7 };`` ` `    ``cout<<``"Initial Vector:"``<

Output:

```Initial Vector:
10 11 12 13 14 15 16 17
Reverse only from index 5 to 7 in vector:
10 11 12 13 14 17 16 15

Initial Vector:
4 5 6 7
Reverse full Vector:
7 6 5 4 ```

Time complexity: O(n)

This article is contributed by Hardik Gaur. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.