DFS 简单的全排列

使用递归回溯算法实现1-9数字的全排列,属于最简单的状态转移BFS之一,很多题目首先需要实现这一个基础功能

#include <iostream>
using namespace std;
int vis[15]={0};
int cunchu[10];


void bfs(int start)
{
if(start==10)
{
for(int j=1;j<10;j++)
{
printf("%d\t",cunchu[j]);
}
printf("\n");
return ; 

for(int i=1;i<10;i++)
{
if(vis[i]==1)
{
continue;
}
vis[i] = 1;
cunchu[start] = i;
bfs(start+1);
vis[i] = 0;//实现回溯算法 
}
}


int main(void)
{
bfs(1);

猜你喜欢

转载自blog.csdn.net/curiousliu/article/details/79929539