迷宫求解的C语言代码
时间: 2023-02-06 08:03:03 浏览: 142
好的,我来为你编写一个迷宫求解的 C 语言代码。首先,我们需要定义一些数据结构来存储迷宫的地图信息。
首先,我们需要定义一个结构体来表示迷宫中的每个位置,这个结构体包含两个域,一个表示当前位置的行号,一个表示当前位置的列号。
struct Point {
int row;
int col;
};
然后,我们可以定义一个二维数组来表示迷宫的地图。在这个二维数组中,我们使用 0 表示通路,使用 1 表示障碍。
int maze[MAX_ROW][MAX_COL] = {
{ 0, 0, 1, 0, 0, 0 },
{ 0, 0, 1, 0, 1, 0 },
{ 0, 0, 0, 0, 0, 0 },
{ 0, 1, 1, 1, 1, 0 },
{ 0, 0, 0, 0, 1, 0 },
{ 0, 1, 1, 1, 1, 0 }
};
接下来,我们可以定义一个函数来实现迷宫求解的功能。这个函数的参数包括:
- 迷宫的地图数组
- 起点的行号和列号
- 终点的行号和列号
bool solveMaze(int maze[][MAX_COL], int startRow, int startCol, int endRow, int endCol) {
// 定义一个栈来存储路径
stack<Point> path;
// 将起点压入栈中
path.push({ startRow, startCol });
// 循环执行直到栈为空
while (!path.empty()) {
// 取出栈顶元素
Point p = path.top();
int row = p.row;
阅读全文