dfs输出全排列

版权声明:转载请标明出处哦 https://blog.csdn.net/easy_purple/article/details/85198338

用于输出0,1,2,3,4,5,6,7,8,9的全排列。

好久之前用c写的了,再删除之前在这里做一下笔记。

#include<stdio.h>

int s=0;
int count=10;
int a[10];
int b[10];

void dfs(int stept){
	if(stept ==10){
		s++;
		if(s<201){
		for(int i=0;i<10;i++){
			printf("%d",a[i]);
		}
		printf("\n");
		}
		return;
	}
	for(int i=0;i<count;i++){
		if(b[i]==0){
			a[stept]=i;
			b[i]=1;
			dfs(stept+1);
			b[i]=0;
		}
	}
}

int main(){	
	dfs(0);
	printf("%d",s);
	return 0;
}

猜你喜欢

转载自blog.csdn.net/easy_purple/article/details/85198338