#include "iostream"
#include "algorithm"
using namespace std;
int main()
{
int a[3] = {3, 1, 2};
sort(a, a+3);
do
{
for(int i=0; i<3; i++)
cout << a[i];
cout << endl;
}while(next_permutation(a, a+3));
return 0;
}

#include "iostream"
#include "algorithm"
#include "set"
using namespace std;
int main()
{
set<int> s;
s.insert(4);
s.insert(3);
s.insert(2);
s.insert(1);
set<int>::iterator it;
do
{
for(it=s.begin(); it!=s.end(); it++)
cout << (*it) << " ";
cout << endl;
}while(next_permutation(s.begin(), s.end()));
return 0;
}
