C语言 迷宫求解 严蔚敏 数据结构 可视化界面

您所在的位置:网站首页 数据结构与算法迷宫问题 C语言 迷宫求解 严蔚敏 数据结构 可视化界面

C语言 迷宫求解 严蔚敏 数据结构 可视化界面

2024-07-09 21:31| 来源: 网络整理| 查看: 265

文章目录 1. 题目2. 解题思路3. 黑窗口运行效果和代码4. 可视化地图效果和代码5.最后

1. 题目

数据结构课程,讲完栈,老师留下严蔚敏PPT上的作业,迷宫求解,如下: 请添加图片描述

2. 解题思路

1)采用递归的深度优先搜索,从出发点搜索至结束点 2)递归中自带“栈特性”,在进入当前递归函数相当于栈的push,退出当前递归函数相当于栈的pop,那么根据这个特性,实现搜索地图中返回上一个结点的功能。 具体看代码,代码详细注释,花点时间仔细看看能懂得。如果不懂,网上搜搜深度优先搜索讲解视频。

3. 黑窗口运行效果和代码

请添加图片描述

#include #include #include using namespace std; // 地图值: 1是墙壁,0是通道,2是主角所在位置,3是出口 4是不能通过的标记 #define WALL 1 #define PASS 0 #define ZHUJUE 2 #define EXITS 3 #define NOPATH 4 // 全局变量 int m = 10, n = 10; // 行和列 默认为10 int map[100][100]; // 地图数组,先开大一点,根据m、n限定范围 int vis[100][100]; // 是否访问过,0是没访问,-1是访问过了 bool isFind = false; // 是否找到出口 stack pathStack;// 用STL模板的栈类记录路径 // 打印地图值 void PrintMap(int flag) {// 根据flag是否清除控制台内容 if (flag == 0) { COORD position; position.X = 0; position.Y = 0; SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), position); cout


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3