收藏 分享(赏)

C语言的迷宫游戏.doc

上传人:hwpkd79526 文档编号:6749320 上传时间:2019-04-22 格式:DOC 页数:7 大小:450KB
下载 相关 举报
C语言的迷宫游戏.doc_第1页
第1页 / 共7页
C语言的迷宫游戏.doc_第2页
第2页 / 共7页
C语言的迷宫游戏.doc_第3页
第3页 / 共7页
C语言的迷宫游戏.doc_第4页
第4页 / 共7页
C语言的迷宫游戏.doc_第5页
第5页 / 共7页
点击查看更多>>
资源描述

1、嗯. 其实也没啥. 随便敲了一段程序先上效果图:其实 随机化 Kruskal 来搞迷宫程序也是很正常相比 DFS 这种危险的东西而言要好得多了/* -就是求一个 随机生成树的问题思路就是 :假如把 每个空格看成一个点. 空格与空格之间的墙壁看成一条边.那么初始的迷宫就是一个无向图 G = 然后我要使得入口和出口要联通.相当于去搞一个图 G 的导出子图, 使得子图中的顶点 E 和顶点 S 是联通的.有点算法功底的人应该想到对于 DFS这种东西.实在是害怕栈溢出. 你有本事就改成非递归形式 但估计没人有本事. 还不如用生成树的思路做.算法步骤:1)随机选择 G 中的一条边 e E , 判断 e 连

2、接的两个顶点是否在同一集盒 ,如果不是, 将两个顶点所在集盒合并, 并且把墙擦掉 ;反之 , 进入 2)2) E = E - e ; /从边集中去掉元素 e3) 如果 E = (空集) , 结束算法 ; 反之 , 转到 1)这其中的 判断两个顶点在同一集盒 以及 将两顶点合并 如果要高效率的操作的话.仅仅用线性表是肯定会*的 这里用数据结构里常用的树来存储.即 所谓的 UFS(Union_Find_Set) 并查集.这个数据结构我已经手写成了类 , 放在了源代码中.还有迷宫地图相关的操作函数以及变量全部放在了命名空间 Maze 中,不然冲突的太严重了.另外: 命名空间 std 我并没有完全开放 , 这也是给新手一种示范 。 告诉 C+初学者,别为了偷懒就随便的全局 “using namespace std;“ , 大项目中的后果是很坑爹的(源代码整理后以图片形式贴出)/ 这帖子在代码全部贴出前尽量别插楼(谢谢大家的配合) /88最后附上使用的 stdstd:liststd:pairstd:cinstd:coutstd:endl

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报