直接使用C++中的next_permutation来搞定全排列问题了~
# include<cstdio>
# include<iostream>
# include<algorithm>
using namespace std;
int a[20];
int main(void)
{
int n;
while ( cin>>n )
{
for ( int i = 1;i <= n;i++ )
{
a[i] = i;
}
do
{
for ( int i = 1;i <= n;i++ )
{
if ( i==1 )
{
cout<<a[i];
}
else
{
cout<<" "<<a[i];
}
}
cout<<endl;
}while(next_permutation(a+1,a+1+n));
}
return 0;
}