博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
用栈实现迷宫求解
阅读量:6100 次
发布时间:2019-06-20

本文共 983 字,大约阅读时间需要 3 分钟。

严书上迷宫问题求解,讲了栈的用途,可以存放过程数值。自己实现很有难度(好像图的深度遍历也行,有什么联系呢?)。

核心代码如下:

1 Status MazePath(PosType start, PosType end)  2 {  3    4   PosType curpos=start;  5   SqStack S;  6   SElemType e;  7   InitStack(S);  8   do 9   { if(Pass(curpos)) 10     { FootPrint(curpos); 11       e.ord=curstep; 12       e.seat=curpos; 13       e.di=0; 14       Push(S, e); 15       curstep++; 16       if(curpos.x==end.x && curpos.y==end.y) 17         return TRUE;18       NextPos(curpos, e.di); 19     }20     else 21     { if(!StackEmpty(S)) 22       { Pop(S, e); 23         curstep--; 24         while(e.di==3 && !StackEmpty(S)) 25         { MarkPrint(e.seat); 26           Pop(S, e); 27           curstep--; 28         }29         if(e.di<3) 30         { e.di++; 31           Push(S, e); 32           curstep++; 33           curpos=e.seat; 34           NextPos(curpos,e.di);35         }36       }37     }38   }while(!StackEmpty(S));39   return FALSE;40 }

转载于:https://www.cnblogs.com/qiannong/p/10570180.html

你可能感兴趣的文章
Windows phone 8 学习笔记(3) 通信
查看>>
重新想象 Windows 8 Store Apps (18) - 绘图: Shape, Path, Stroke, Brush
查看>>
Revit API找到风管穿过的墙(当前文档和链接文档)
查看>>
Scroll Depth – 衡量页面滚动的 Google 分析插件
查看>>
Windows 8.1 应用再出发 - 视图状态的更新
查看>>
自己制作交叉编译工具链
查看>>
Qt Style Sheet实践(四):行文本编辑框QLineEdit及自动补全
查看>>
[物理学与PDEs]第3章习题1 只有一个非零分量的磁场
查看>>
深入浅出NodeJS——数据通信,NET模块运行机制
查看>>
onInterceptTouchEvent和onTouchEvent调用时序
查看>>
android防止内存溢出浅析
查看>>
4.3.3版本之引擎bug
查看>>
SQL Server表分区详解
查看>>
使用FMDB最新v2.3版本教程
查看>>
SSIS从理论到实战,再到应用(3)----SSIS包的变量,约束,常用容器
查看>>
STM32启动过程--启动文件--分析
查看>>
垂死挣扎还是涅槃重生 -- Delphi XE5 公布会归来感想
查看>>
淘宝的几个架构图
查看>>
Android扩展 - 拍照篇(Camera)
查看>>
JAVA数组的定义及用法
查看>>