GFG App
Open App
Browser
Continue

std::reverse() in C++

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.```

C++

 `// 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)
Auxiliary Space: O(1)

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