烦请大佬帮忙看一下代码,我却觉着输出没毛病,非常感谢
#include<iostream>
#include<iomanip>
using namespace std;
void perm(int start,int end,int a[])
{
if(start==end)
{
for(int i=0;i<end;i++)
cout<<setw(5)<<a[i];
cout<<endl;
}
for(int i=start;i<end;i++)
{
swap(a[start],a[i]);
perm(start+1,end,a);
swap(a[i],a[start]);
}
}
int main()
{
int n;
cin>>n;
int *a=new int[n];
for(int i=0;i<n;i++)
a[i]=i+1;
perm(0,n,a);
delete[] a;
return 0;
}