Standard C++ Library Class Reference
Complexity
reverse performs exactly (last - first)/2 swaps.
Example
//
// reverse.cpp
//
 #include <algorithm>
 #include <vector>
 #include <iostream.h>
 int main()
 {
 //Initialize a vector with an array of ints
 int arr[10] = {1,2,3,4,5,6,7,8,9,10};
 vector<int> v(arr, arr+10);
 //Print out elements in original (sorted) order
 cout << "Elements before reverse: " << endl << " ";
 copy(v.begin(),v.end(),ostream_iterator<int>(cout," "));
 cout << endl << endl;
 //Reverse the ordering
 reverse(v.begin(), v.end());
 //Print out the reversed elements
 cout << "Elements after reverse: " << endl << " ";
 copy(v.begin(),v.end(),ostream_iterator<int>(cout," "));
 cout << endl;
 return 0;
 }
Output :
Elements before reverse:
 1 2 3 4 5 6 7 8 9 10
Elements after reverse:
 10 9 8 7 6 5 4 3 2 1
A reverse_copy to cout:
 1 2 3 4 5 6 7 8 9 10
Warning
If your compiler does not support default template parameters, then you need to always supply
the Allocator template argument. For instance, you will need to write :
vector<int, allocator>
instead of :










