![]() |
VOOZH | about |
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).
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}.
The reverse() function is defined in the <algorithm> header file.
reverse(first, last);
Parameters:
Return Value: This function does not return any value. It reverses the range in-place.
The following examples demonstrate how to use the reverse() function with different data structures.
The reverse() function can be used to reverse all elements of an array by passing pointers to the beginning and end of the array.
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}.
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.
dcba
Explanation: The reverse() function reverses all characters in the string. The string "abcd" becomes "dcba".
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.
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}.