迷宫问题设计小结.docxVIP

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
迷宫问题设计小结 已知int maze[5][5]矩阵表示的迷宫,求解一条(0,0)至(4,4)的路径; 思路: 1) 双向链表存储,通过路径; 2)递归调用char shortest_path(position*currrentpos, position* despos);实现查找 递归调用char快捷方式\返回路径: 1.在该节点,尝试过 右、下、左、上 四个方向,都无法走通,该节点是条死路, 则return n; 回退到上一节点,在上一节点寻找其他可走的路; 2.您已到达目的地despos,返回“y”;递归返回“y”,直到第一次调用char shortest\uPath之后,结束递归调用; 1 #include 2 #include 3 4 typedef struct { 5 int _x; //行 6 int _y; //列 7 }position; //节点坐标信息,保存路径 8 9 typedef struct _node{ 10 position _pos; 11 struct _node *next; 12 struct _node *pre; 13 }node; 14 15 typedef struct{ 16 node* head; 17 node* tail; 18 }path; //路径的head、tail,访问路径 19 20 int maze[5][5]={ 21 0,1,0,0,0, 22 0,1,1,1,0, 23 0,0,0,0,0, 24 0,1,0,1,1, 25 0,1,0,0,0, 26 }; 27 28 int offset[4][2]={ 29 0,1, 30 1,0, 31 0,-1, 32 -1,0, 33 };//右、下、左、上 34 35 path path; //路径 36 37 void step_forurn n; //跃出地图边界,或者是墙,或者是死路,返回n 72 // if(path.tail-pre!=null //方向是返回的方向,返回n 74 return y; //其他返回y 75 } 76 77 char shortest_path(position* currentpos,position* despos) 78 { 79 int i; 80 if(currentpos-_x == despos-_x 82 for(i=0;i4;++i) 83 { 84 int neurn n;102 }103 104 void initialize105 {106 path.head=(node*)malloc(sizeof(node));107 path.head-next=null;108 path.head-pre=null;109 path.head-_pos._x=0;110 path.head-_pos._y=0;111 path.tail=path.head;112 maze[0][0]=-1;113 }114 115 void print_path116 {117 node *node_ptr;118 node_ptr=path.head;119 urn 0;144 } 缺点:代码有点凌乱。 注意点: 1.递归调用,何时以及如何返回。 2.在返回n时,由于char* currentpos是指针变量,实际数据存储在堆区域,已经被修改,需要重新将tail所指向的堆区域的值复制给currentpos。 3.步骤u对于正向功能,迷宫[][]中的对应项需要分配-1以避免回退; 这次数据库课程设计做的还是很成功的,功能全部基本都实现了。在做的过程中出现过几次小问题,搞了很长时间才做通的。做完这次课设之后,回顾起来,数据库课设其实挺简单的。只不过以为我们以往的不深入的探究,只看表面一堆堆的代码就感觉很难很难,实际上代码不要我们写,照着模板做,一通百通,就ok了,正是因为我们的这种畏惧的敬而远之的心态导致我们数据库课程始终都是初学状态,没有一点长进,我想经过这次系统的做了这个企业进销存数据库,部分的数据库结构、功能、使用等方面与以前相比有了长足的进步,虽然知道的依然很少,但有进步都是可喜的。 在本次课程设计的软件开发的过程中,我全面实践一个面向数据库的应用系统的开发过程,学习了很多有关的知识。这样的项目对我学过的数据库课程是一个综合性很高的实践。一些以前没有学得很杂实的课程的内容,由于需要在实践中运用,刚开始我也感到很头痛。但回过头再去看教科书,经过一段时间的钻研,对与这些知识点的相关的背景,概念和解决方案理解得更透彻

文档评论(0)

软件开发 + 关注
官方认证
服务提供商

十余年的软件行业耕耘,可承接各类需求

认证主体深圳鼎云文化有限公司
IP属地广东
统一社会信用代码/组织机构代码
91440300MA5G24KH9F

1亿VIP精品文档

相关文档