reverse() in C++ STL (original) (raw)

Last Updated : 06 Dec, 2024

In C++, the **reverse() is a built-in function used to reverse the order of elements in the given range of elements. This range can be any STL container or an array. In this article, we will learn about reverse() function in C++.

Let’s take a look at an example:

C++ `

#include <bits/stdc++.h> using namespace std;

int main() { vector v = {1, 2, 3, 4, 5};

// Reversing the vector
reverse(v.begin(), v.end());

for (int i : v) cout << i << " ";
return 0;

}

`

This article covers the syntax, usage, and common examples of reverse() function in C++:

Table of Content

Syntax of reverse()

The reverse() function is defined in the ****** header file.

**reverse(first, last);

**Parameters:

**Return Value:

Examples of reverse()

The below examples show how to use the reverse() function to reverse variety of data containers.

Reverse an Array

C++ `

#include <bits/stdc++.h> using namespace std;

int main() { int arr[] = {1, 2, 3, 4, 5}; int n = sizeof(arr) / sizeof(arr[0]);

  // Reverse the array arr
reverse(arr, arr + n);

for (int i : arr) cout << i << " ";
return 0;

}

`

Reverse a String

C++ `

#include <bits/stdc++.h> using namespace std;

int main() { string s = "abcd";

  // Reverse the string s
reverse(s.begin(), s.end());

cout << s;
return 0;

}

`

Left Rotate a Vector using reverse()

The left rotation of a vector can be done by using reverse() three times on it.

C++ `

#include <bits/stdc++.h> using namespace std;

int main() { vector v = {1, 3, 6, 2, 9}; int n = v.size(); int d = 2;

// Left rotate the vector by d place
reverse(v.begin(), v.begin() + d);
reverse(v.begin() + d, v.end());
reverse(v.begin(), v.end());

for (auto i : v)
    cout << i << " ";
return 0;

}

`