# Reverse the order of the found element with value 3 and all following elements : reverse « STL Algorithms Modifying sequence operations « C++ Tutorial

```/* The following code example is taken from the book
* "The C++ Standard Library - A Tutorial and Reference"
* by Nicolai M. Josuttis, Addison-Wesley, 1999
*
* (C) Copyright Nicolai M. Josuttis 1999.
* Permission to copy, use, modify, sell and distribute this software
* is granted provided this copyright notice appears in all copies.
* This software is provided "as is" without express or implied
* warranty, and with no claim as to its suitability for any purpose.
*/
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

int main()
{
vector<int> coll;
vector<int>::iterator pos;

// insert elements from 1 to 6 in arbitrary order
coll.push_back(2);
coll.push_back(5);
coll.push_back(4);
coll.push_back(1);
coll.push_back(6);
coll.push_back(3);

// find the first element with value 3
pos = find (coll.begin(), coll.end(),  // range
3);                        // value
// reverse the order of the found element with value 3 and all following elements
reverse (pos, coll.end());

// print all elements
for (pos=coll.begin(); pos!=coll.end(); ++pos) {
cout << *pos << ' ';
}
cout << endl;

}
```
`2 5 4 1 6 3`
 24.16.reverse 24.16.1. Use reverse to reverse the order of elements 24.16.2. Use reverse to reverse order from second to last element but one 24.16.3. Using the STL generic reverse algorithm with a vector 24.16.4. Reverse the order of the found element with value 3 and all following elements 24.16.5. Reverse a stack of integers