简介
本文介绍了一个基于不相交集合做数据结构实现的迷宫程序,并基于MFC单文档框架生成可视化界面。
文末附有可以直接使用的迷宫生成程序exe可执行程序,以及对应的源码,项目由VS2017创建。
程序目录
migong.h/migong.cpp 为基于MFC的主程序框架,其中实例化了唯一的应用程序对象 CmigongApp theApp; 在CmigongApp::InitInstance()方法内关联了程序的文档视图类CmigongDoc,CmigongView
migongDoc.h/migongDoc.cpp 为文档类,即定义了CmigongDoc,其中 CmigongDoc::OnNewDocument()方法响应了应用程序菜单》新建的 消息,在这里通过m_pLabyrinth = new Labyrinth(60, 90);创建了迷宫对应的数据结构类Labyrinth,参数(60,90)为迷宫的高和宽,调整它将得到不同规模的迷宫
migongView.h/migongView.cpp 为视图类,即定义了CmigongView,其中void CmigongView::plotLabyrinth(const Labyrinth *map)实现了绘制迷宫
Labyrinth.h和DisjSets.h为基于不相交集合做数据结构实现的迷宫,分别定义了Labyrinth类和DisjSets类,
程序界面
整个迷宫在左上角和右下角分别设定了出口/入口
通过菜单 》文件》新建 将创建随机路径的新迷宫
总结
基于MFC作为界面,利用不相交集合做数据结构实现的迷宫程序,用户可更改迷宫规模
源码获取
链接:https://pan.baidu.com/s/1jNo3mUcXTR2MTSZwiB8EyQ?pwd=ptty
提取码:ptty