Another useful STL algorithm is reverse(). This algorithm reverses the order of elements in a specified sequence. reverse() takes two iterators that mark the sequence's beginning and end, respectively. Here is an example of reversing the order of a char array:
#include <algorithm>
#include <vector>
using namespace std;
int main()
{
char arr[4] = {'a','b','c','d'};
reverse(arr, arr+4); // arr is now "dcba"
}
Remember that the second argument of reverse() must point one element past the array's bounds. Here's an example of applying reverse() to a vector object:
int main()
{
char arr[]= {'a','b','c','d'};
vector <char> vc (arr, arr+4); // initialize vc
reverse(vc.begin(), vc.end());
}