迷宫问题C代码.doc

迷宫问题C代码.doc

ID:59282372

大小:30.00 KB

页数:8页

时间:2020-09-06

迷宫问题C代码.doc_第1页
迷宫问题C代码.doc_第2页
迷宫问题C代码.doc_第3页
迷宫问题C代码.doc_第4页
迷宫问题C代码.doc_第5页
资源描述:

《迷宫问题C代码.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、#include#include#include#include#include"SQ_Stack.h"usingnamespacestd;structVisited{intnum;//是否是通路(1或0)intvisited;//判断是否已被访问(1或0)};classMiGong{private:Visitedmaze[100][100];//存储迷宫的矩阵intn;//迷宫大小(n*n)intpow;//判断方向的变量public:vo

2、idcreat()//建造迷宫{intchoose,i,j;while(1){cout<<"1.自动输入"<>choose;system("cls");if(choose==1)//自动输入{cout<<"请输入迷宫大小(n*n):";cin>>n;for(i=0;i

3、0));cout<<"你生成的迷宫为("<

4、

5、j==0

6、

7、i==n-1

8、

9、j==n-1)//若是边界,则置为1maze[i][j].num=1;elsemaze[i][j].num=(rand()%(2-0));if(i==1&&j==1)//入口置为0maze[i][j].num=0;elseif(i==n-2&&j==n-2)//出口置为0maze[i][j].num=0;cout

10、<>n;for(i=0;i>c;

11、if(c==1){system("cls");cout<<"请手动输入迷宫:"<>mi;maze[i][j].num=mi;cout<

12、入迷宫.txt");for(i=0;i>maze[i][j].num;cout<

13、nue;}}}voidseek()//寻找路径{SQ_StackStack;//定义栈Stack.InitStack();//栈初始化if(maze[n-2][n-2].num)return;//若出口为0,则跳出inti=n-2,j=n-2;intpow,a=0;do//开始寻找线路{if((!maze[i][j].num)&&(maze[i][j].visited==0))//如果是通路且从未被访问{if((i!=Stack.getTI())

14、

15、(j!=Stack.getTJ()))//如果该点未入栈,则入

16、栈,访问该点{Stack.push(i,j);maze[i][j].visited=1;//且把访问位置为1}if(i==1&&j==1)//如果是出口则跳出全部循环{a=1;break;}i=i;//初始向左访问j=j-1;pow=0;}else//如果不是通路{intback1,back2;pow++;//方向位改变i=Stack.getTI();//回到访问的点j=Stack.g

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。