c语言用栈解决迷宫问题 5
1以一个n的长方阵表示迷宫,0和1分别表示迷宫中的通路和障碍,设计一个程序,对任意设定的迷宫,求出一条从入口到出口的通路,或得出没有通路的结论。2首先实现一个栈类型,然后...
1 以一个n的长方阵表示迷宫,0和1分别表示迷宫中的通路和障碍,设计一个程序,对任意设定的迷宫,求出一条从入口到出口的通路,或得出没有通路的结论。
2 首先实现一个栈类型,然后编写一个求解迷宫的非递归程序。求得的通路以三元组(i, j, d)的形式输出,其中,(i, j)指示迷宫中的一个坐标,d表示走到下一坐标的方向。n如:对于下列5 ╳ 4数据的迷宫,→0 0 1 0 0 0 0 0 1 1 1 1 0 1 1 1 1 0 0 0 →n输出的一条通路为(1,1,1), (1,2,2), (2,2,1), (2,3,2), (3,3,2), (4,3,1), (4,4,1), (4,5,1)。n
3 主程序模块:初始化,接受数据,处理数据,数据结果
栈模块——实现栈抽象数据类型¨初始化,销毁栈,清空栈,判栈空,取栈顶元素,插入新的栈顶元素,删除栈顶元素,从栈底到栈顶依次访问栈中的每个结点。
迷宫模块——实现迷宫抽象数据类型¨初始化迷宫:按照用户输入的row行和col列的二维数组(元素值为0或1)设置迷宫的初值,包括加上边缘一圈的值。¨求解迷宫:求解迷宫中,从入口到出口的一条路径,若存在,则返回true;否则返回false。¨ 输出迷宫通路。 展开
2 首先实现一个栈类型,然后编写一个求解迷宫的非递归程序。求得的通路以三元组(i, j, d)的形式输出,其中,(i, j)指示迷宫中的一个坐标,d表示走到下一坐标的方向。n如:对于下列5 ╳ 4数据的迷宫,→0 0 1 0 0 0 0 0 1 1 1 1 0 1 1 1 1 0 0 0 →n输出的一条通路为(1,1,1), (1,2,2), (2,2,1), (2,3,2), (3,3,2), (4,3,1), (4,4,1), (4,5,1)。n
3 主程序模块:初始化,接受数据,处理数据,数据结果
栈模块——实现栈抽象数据类型¨初始化,销毁栈,清空栈,判栈空,取栈顶元素,插入新的栈顶元素,删除栈顶元素,从栈底到栈顶依次访问栈中的每个结点。
迷宫模块——实现迷宫抽象数据类型¨初始化迷宫:按照用户输入的row行和col列的二维数组(元素值为0或1)设置迷宫的初值,包括加上边缘一圈的值。¨求解迷宫:求解迷宫中,从入口到出口的一条路径,若存在,则返回true;否则返回false。¨ 输出迷宫通路。 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询