数据结构之深度优先搜索(走迷宫)

在此以走迷宫为例:

给定迷宫起点和终点,看能否到达:(xt,yt)

void f(int x,int y){
    if(x<0||x>21||y<0||y>21){//判断是否超出迷宫
        return;
    }
    for(i=0;i<4;i++){
    if(ch[x][y]=='.'){
     ch[x][y]='#'; 
if(x==xt+1&&y==yt+1){ flag=1; return ; } //四个方向 f(x,y+1);     f(x,y-1);      f(x+1,y);      f(x-1,y);
     ch[x][y] = '.';
    }   }
   }

最后判断flag是否为1即可。

原文地址:https://www.cnblogs.com/xiamaogeng/p/4480636.html