迷宫程序的实现
来源:互联网 发布:华为分享网络wifi密码 编辑:程序博客网 时间:2024/05/18 00:40
#include<iostream>#include<stack>#define N 3#define M 3using namespace std;struct STEP //保存坐标点{ int x; int y;};struct Matrix{ int maxtrix[N+2][M+2]; //迷宫 struct STEP entrance; //入口 struct STEP exit; //出口}; struct Dir //方向{ struct STEP right; struct STEP down; struct STEP left; struct STEP up;};struct STEP dir[4]={{0,1},{1,0},{0,-1},{-1,0}};Matrix mm = {{{1,1,1,1,1},{1,0,1,0,1},{1,0,0,1,1},{1,0,0,0,1},{1,1,1,1,1}},{1,1},{3,3}};int main(){ stack<struct STEP> path; struct STEP cur = mm.entrance; path.push(cur); int i = 0; for(int i=0;i<=4;i++) { for(int j=0;j<=4;j++) cout<<mm.maxtrix[i][j]<<" "; cout<<endl; } while(1) { cur.x = cur.x + dir[i%4].x; cur.y = cur.y + dir[i%4].y; path.push(cur); if(mm.maxtrix[cur.x][cur.y] == 1) { path.pop(); cur = path.top(); ++i; continue; } else { i = 0; if(cur.x == mm.exit.x && cur.y == mm.exit.y) { break; } } } while(!path.empty()) //逆向输出路径 { struct STEP cur = path.top(); cout<<"("<< cur.x<<","<<cur.y<<")"<<endl; path.pop(); } return 0;}
0 0
- 迷宫程序的实现
- 栈实现迷宫的较完善 程序
- 迷宫程序简单实现
- 转载的迷宫程序
- 生成迷宫的程序
- 利用栈实现简单的求解迷宫程序
- C#迷宫的实现~~
- 实现简单的迷宫
- 迷宫的实现
- 迷宫的实现
- 迷宫的简单实现
- 简易迷宫的实现
- 一个走迷宫的程序
- 程序2.1:非递归方法实现迷宫
- 双线程实现迷宫破解程序框架
- 程序实现搜索迷宫出口完整版
- 迷宫算法的递归实现
- 迷宫的实现--c语言
- iis URL 重写
- Java实现堆的封装,进行插入,调整,删除堆顶以完成堆排序实例
- 金额数字转中文大写
- mantis 邮件配置问题 不能发送邮件提醒
- SQL Server 2008R2 hierarchyid的使用方法(父子节点、上下级处理)
- 迷宫程序的实现
- 引导或系统启动驱动程序无法加载: storflt
- SOLID
- 云主机是什么?
- 习题2-5 分数化小数(decimal)
- hadoop学习之hadoop完全分布式集群安装
- javascript设计模式实践之策略模式--输入验证
- Spring MVC(三)基于上一篇使用JUnit编写测试用例
- .net 对象浅拷贝和深拷贝的实现