迷宫问题的C++算法实现

迷宫问题的C++算法实现

ID:43419614

大小:32.51 KB

页数:4页

时间:2019-10-02

迷宫问题的C++算法实现_第1页
迷宫问题的C++算法实现_第2页
迷宫问题的C++算法实现_第3页
迷宫问题的C++算法实现_第4页
资源描述:

《迷宫问题的C++算法实现》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、#ifndefMMIGONG_H#defineMMIGONG_H#defineMAX_SIZE100#includeusingnamespacestd;structNode{intx;inty;intdi;};classStack{private:intrrow;intccolm;inttop;intcount;intminlenght;Nodestack[MAX_SIZE];Nodesstack[MAX_SIZE];public:Stack();//初始化//int**InsortMiGong();//输入迷宫(即一个二

2、维数组)voidFindPath(intab[][10]);//找出迷宫的出路};Stack::Stack()//初始化{rrow=0;ccolm=0;top=-1;count=1;minlenght=MAX_SIZE;}/*int**Stack::InsortMiGong()//输入迷宫(即一个二维数组){introw=1,colm=1;while(true){cout<<"请输入迷宫的行数和列数:";cin>>row>>colm;if(row<=0

3、

4、colm<=0){cout<<"输入错误!请重新输入:"<

5、ccolm=colm;continue;}else{rrow=row;ccolm=colm;break;}}int*mg[];cout<<"请输入迷宫矩阵(只有0和1两个数构成):";for(inti=0;i>mg[i][j];returnmg;}*/voidStack::FindPath(intab[][10])//找出迷宫的出路{inta,b,di,find,k;top++;stack[top].x=1;stack[top].y=1;stack[top].di=-1;a

6、b[1][1]=-1;while(top>-1){a=stack[top].x;b=stack[top].y;di=stack[top].di;if(a==8&&b==8){cout<

7、;minlenght=top+1;}ab[stack[top].x][stack[top].y]=0;top--;a=stack[top].x;b=stack[top].y;di=stack[top].di;}find=0;while(di<8&&!find){di++;switch(di){case0:a=stack[top].x-1;b=stack[top].y;break;case1:a=stack[top].x;b=stack[top].y+1;break;case2:a=stack[top].x+1;b=stack[top].y;b

8、reak;case3:a=stack[top].x;b=stack[top].y-1;break;}if(ab[a][b]==0)find=1;}if(find==1){stack[top].di=di;top++;stack[top].x=a;stack[top].y=b;stack[top].di=-1;ab[a][b]=-1;}else{ab[stack[top].x][stack[top].y]=0;top--;}}cout<

9、t<";if(!((k+1)%10))cout<

10、1,0,0,1,0,0,0,1,0,1,},{1,0,0,0,0,1,1,0,0,1,},{1,0,1,1,1,0,0,0,0,1,},{1,0,0,0,1,0,0

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

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

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