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:
- **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()
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;
}
`