惊奇的发现我竟然没写过这个
粘了黄学长的代码 因为所有的递归全排列拥有共同的灵魂
我经常犯得错误是把取消标记放到循环外 至今没开博的查查比君纠正过很多次 所以记住一定递归后马上取消标记
//全排列递归 黄学长标准模板 小数据
#include
#include
using namespace std;
int n;
int pd[11],used[11];
void print()
{
for(int i=1;i<=n;i++)
printf("%d ",used[i]);
printf("\n");
}
void search(int k)
{
if(k==n){print();return;}
for(int i=1;i<=n;i++)
{
if(!pd[i]){pd[i]=1;used[k+1]=i;search(k+1);pd[i]=0;}
}
}
int main()
{
cin>>n;
search(0);
return 0;
}
——水茫茫,平沙雁,旋惊散。