一.需求分析 本程序是利用非递归的方法求出一条走出迷宫的路径,并将路径输出。首先由用户输入 一组二维数组来组成迷宫,确认后程序自动运行,当迷宫有完整路径可以通过时,以0和 1所组成的迷宫形式输出,标记所走过的路径结束程序;当迷宫无路径时,提示输入错误 结束程序。程序执行的命令:1创建迷宫 ;2求解迷宫;3输出迷宫求解; 二.算法设计 本程序中采用的数据模型,用到的抽象数据类型的定义,程序的主要算法流程及各模 块之间的层次调用关系 程序基本结构: 设定栈的抽象数据类型定义: ADT Stack { 数据对象:D={" CharSet,i=1,2,3,…..,n,n>=0;} 数据关系:R={<, >", D,i=2,…,n} 设置迷宫的抽象类型 ADT maze{ 数据对象:D={ai"ai ' ','@','#','1',i=1,2,…,n,n>=0} 数据关系:R={r,c} r={
"ai-1,ai D, i=1,2,…,n,} c="ai-1,ai D, i=1,2,…,n,} 结构体定义: typedef struct //迷宫中x行y列的位置