数据结构迷宫问题

xiaoruiruipr 2011-10-15 09:42:41
怎样用栈求迷宫的多个路径?
以下程序只是一个路径:


Status MazePath(MazeType &maze,PosType start, PosType end){
//求解迷宫maze中,从入口start到出口end的一条路径
//若存在,返回TRUE,否则返回FALSE
SqStack s;SElemType e;
InitStack(s);
PosType curpos = start;
int curstep = 1; //探索第一部
do{
if( Pass(maze,curpos) ){ //如果当前位置可以通过,即是未曾走到的通道块
FootPrint(maze,curpos); //留下足迹
e = CreateSElem(curstep,curpos,1); //创建元素
Push(s,e);
if( PosEquare(curpos,end) ) return TRUE;
curpos =NextPos(curpos,1); //获得下一节点:当前位置的东邻
curstep++; //探索下一步
}else{ //当前位置不能通过
if(!StackEmpty(s)){
Pop(s,e);
while(e.di==4 && !StackEmpty(s) ){
MarkPrint(maze,e.seat); Pop(s,e);curstep--; //留下不能通过的标记,并退回一步
}
if(e.di<4){
e.di++; Push(s,e); //换一个方向探索
curpos = NextPos(e.seat,e.di); //求下一个节点
}
}
}
}while(!StackEmpty(s));
return FALSE;
}
...全文
273 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
张晖 2013-10-06
  • 打赏
  • 举报
回复
继续重复调用函数呀,直到无法找到下一条
jackfans 2011-10-15
  • 打赏
  • 举报
回复
今天天气真好!

70,024

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧