dsf 全排列

#include<stdio.h>
int a[10] ,book[10],n; //c 全局变量默认初值为0
void dfs(int step)
{
	int i;
	if(step==n+1)
	{
		for(i=1;i<=n;i++){
	    printf("%d",a[i]);
		}
		printf("\n");
		return;//回到上次调用dfs的地方 
	}
	for(i=1;i<=n;i++){
		if(book[i]==0){
		a[step]=i;
		book[i]=1;
		dfs(step+1);
		book[i]=0;
	}
}
	return;
}
int main(){
	scanf("%d",&n);
	dfs(1);
	getchar();getchar();
	return 0;
} 

  

posted @ 2018-03-24 10:20  moon290  阅读(210)  评论(0)    收藏  举报