迷宫问题设计小结

迷宫问题设计小结

ID:15724511

大小:28.00 KB

页数:6页

时间:2018-08-05

迷宫问题设计小结_第1页
迷宫问题设计小结_第2页
迷宫问题设计小结_第3页
迷宫问题设计小结_第4页
迷宫问题设计小结_第5页
资源描述:

《迷宫问题设计小结》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、-------------------------------------------------------精选公文范文管理资料----------------------------------------------精选公文范文最新迷宫问题设计小结  已知intmaze[5][5]矩阵表示的迷宫,求解一条(0,0)至(4,4)的路径;  思路:  1)双向链表存储,走过路径;  2)递归调用charshortest_path(position*currrentpos,position*despos);实现查找  递归调用charshortest_

2、path()的返回情况:  1.在该节点,尝试过右、下、左、上四个方向,都无法走通,该节点是条死路,则return‘n’;-----------------------------------------------最新公文范文资料----------------感谢阅读------------------------------------------------------------------------------------------精选公文范文管理资料-------------------------------------------

3、---回退到上一节点,在上一节点寻找其他可走的路;  2.已经到达目的地despos,return‘y’;递归返回‘y’,直到第一次调用charshortest_path()之后,结束递归调用;  1#include2#include34typedefstruct{5int_x;//行6int_y;//列7}position;//节点坐标信息,保存路径89typedefstruct_node{10position_pos;11struct_node*next;12struct_node*pre;13}node;1415typedefstruct{16n

4、ode*head;17node*tail;18}path;//路径的head、tail,访问路径1920intmaze[5][5]={210,1,0,0,0,220,1,1,1,0,230,0,0,0,0,240,1,0,1,1,250,1,0,0,0,26};2728intoffset[4][2]={290,1,301,0,310,-1,32-1,0,33};//右、下、左、上3435pathpath;//路径3637voidstep_forward(intpos_x,intpos_y)//前进38{39node*node=(node*)malloc

5、(sizeof(node));40if(node!=null)41{42node->_pos._x=pos_x;43-----------------------------------------------最新公文范文资料----------------感谢阅读------------------------------------------------------------------------------------------精选公文范文管理资料----------------------------------------------

6、node->_pos._y=pos_y;44node->pre=null;45node->next=null;46if(path.tail!=null)47{48path.tail->next=node;49node->pre=path.tail;50path.tail=node;51maze[node->_pos._x][node->_pos._y]=-1;52}53}54}5556voidstep_backforward()57{58if(path.tail!=null)59{60node*newtail=path.tail->pre;61path

7、.tail->pre->next=null;62free(path.tail);63path.tail=newtail;64}65}66charis_can_go(intpos_x,intpos_y)67{68if(pos_x469

8、

9、pos_y470

10、

11、(maze[pos_x][pos_y]!=0))71return‘n’;//跃出地图边界,或者是墙,或者是死路,返回’n’72//if(path.tail->pre!=null&&(path.tail->pre->_pos._x==pos_x&&path.tail->pre->_pos._y==pos

12、_y))73//return‘n’;//方向是返回的方向,返回’n’74return‘y’;/

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

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

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