调用next_permutation()
函数就完事了
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
int a[10];
int n;
cin >> n;
for(int i=1;i<=n;i++) a[i] = i;
do
{
for(int i=1;i<=n;i++) cout<<a[i]<<" ";
cout<<endl;
}while(next_permutation(a+1,a+1+n));
}