#include <iostream>
#include <cassert>
#include <algorithm>
#include <vector>
using namespace std;
int main()
{
vector<int> vector1(3);
for (int i = 0; i < 3; ++i)
vector1[i] = i;
// In lexicographical order the permutations of 0 1 2 are
// 0 1 2, 0 2 1, 1 0 2, 1 2 0, 2 0 1, 2 1 0.
// Show that from 0 1 2 next_permutation produces 0 2 1:
next_permutation(vector1.begin(), vector1.end());
cout << vector1[0] << " ";
cout << vector1[1] << " ";
cout << vector1[2] << " ";
cout << "\n\n\n\n\n\n";
// Show that from 0 2 1 prev_permutation() produces 0 1 2:
prev_permutation(vector1.begin(), vector1.end());
cout << vector1[0] << " ";
cout << vector1[1] << " ";
cout << vector1[2] << " ";
return 0;
}
0 2 1
0 1 2