1、 用用 C 语言解决语言解决迷宫迷宫设计设计与寻找通路的问题与寻找通路的问题 摘 要 本课程设计主要解决设计一个迷宫以及在给出一组入口和出口的情况下,求出一 条通路的问题。在课程设计中,系统开发平台为 Windows 2000,程序设计语言采用 Visual C+6.0,数据结构采用链式栈存储结构,程序运行平台为 Windows 98/2000/XP。对于迷宫 设计问题,首先假设了用“0”表示此道路可通, “1”表示不可通,即障碍,然后采用了简 单的以时间产生随机种子(0,1变量)和人工输入0-1变量的方法产生迷宫矩阵。对求解迷 宫通路问题,采用“穷举求解”的方法和设计一个“先进后出”的栈来存
2、放当前位置路径, 最后得出一条动态行走迷宫的通路。在程序设计中, 采用了结构化与面向对象两种解决问题 的方法。程序通过调试运行,初步实现了设计目标。 关键词 程序设计;C+6.0;链式栈存储结构;0-1;穷举求解 目录目录 1 引言引言 1 1.1 课程设计目的.1 1.2 课程设计内容 1 1.3 概要设计 1 2 程序设计说明程序设计说明 .3 2.1 定义抽象数据类型 .3 2.2 定义栈结构体及二维数组 4 2.3 主程序模块 4 3 详细设计实现详细设计实现 6 3.1 流程图 6 3.2 算法说明 .7 3.3 主要算法设计 .8 4 运行环境与结果运行环境与结果 11 4.1 运
3、行环境 11 4.2 运行过程中遇到的问题与处理方法 .11 4.3 运行结果与分析 .12 5 结束语结束语 .18 参考文献参考文献 .19 附录:附录:结构化设计源程序清单20 1 引引 言言 本课程设计主要解决设计一个迷宫以及在给出入口和出口的情况下求解一条通路的 问题。利用“穷举求解”的方法来判定当前位置是否可通以及利用栈“先进后出”的特点来 存放当前位置可通的信息。 1.1 课程设计目的课程设计目的 在我们对一个具体的问题进行分析时,往往要抽象出一个模型,设计一个算法来实 现所需要达到的功能。 在此程序中,我们主要是综合运用所学过的知识,回顾 VC+编程的同时,熟悉并 掌握数据结构中的算法分析与设计。 同时,要掌握类 C 语言的算法转换成 C 程序并上机调试的基础; 通过本次课程设计,进一步巩固C 语言和数据结构课程所学的知识,特别是加 强数据结构的理解与运用,熟悉面向对象的程序设计方法;通过此次课程设计的实践,锻炼 自身程序设计的能力以及用 C 语言解决实际问题的能力,为