VOOZH about

URL: https://www.geeksforgeeks.org/cpp/stdreverse-in-c/

⇱ reverse() in C++ STL - GeeksforGeeks


  • Courses
  • Tutorials
  • Interview Prep

reverse() in C++ STL

Last Updated : 1 Jun, 2026

The reverse() function in C++ STL is used to reverse the order of elements within a specified range. It works with arrays as well as STL containers such as vector, deque, string, and list (through iterators).

  • Reverses elements directly in the original container or array.
  • Works with any bidirectional iterator range.
  • Defined in the <algorithm> header file.
  • Performs the reversal in linear time without requiring an additional container.

Output
5 4 3 2 1 

Explanation: The reverse() function reverses all elements in the vector by swapping elements from both ends of the range until the middle is reached. The vector {1, 2, 3, 4, 5} becomes {5, 4, 3, 2, 1}.

Syntax

The reverse() function is defined in the <algorithm> header file.

reverse(first, last);

Parameters:

  • first: Iterator to the first element in the range.
  • last: Iterator to the theoretical element just after the last element in the range.

Return Value: This function does not return any value. It reverses the range in-place.

Examples of reverse() function

The following examples demonstrate how to use the reverse() function with different data structures.

Reversing an Array

The reverse() function can be used to reverse all elements of an array by passing pointers to the beginning and end of the array.


Output
5 4 3 2 1 

Explanation: The range arr to arr + n represents the entire array. The reverse() function reverses the order of all elements, resulting in {5, 4, 3, 2, 1}.

Reverse a String

The reverse() function can also be used to reverse the characters of a string by specifying the range from the first character to the last character.


Output
dcba

Explanation: The reverse() function reverses all characters in the string. The string "abcd" becomes "dcba".

Left Rotate a Vector using reverse()

The reverse() function can be used to efficiently perform left rotation of a vector. The idea is to reverse the first d elements, then reverse the remaining elements, and finally reverse the entire vector.


Output
6 2 9 1 3 

Explanation: The vector is left-rotated by reversing the first d elements, then the remaining elements, and finally the entire vector. For d = 2, the vector {1, 3, 6, 2, 9} becomes {6, 2, 9, 1, 3}.

Comment
Article Tags: