问题及描述:
/*
* Copyright (c) 2015, 烟台大学计算机与控制工程学院
* All rights reserved.
* 文件名称: LiString.cpp,main.cpp,LiString.h
* 作者:高哲
* 完成日期:2015年11月9日
* 版本号:codeblocks
*
* 问题描述:设计一个程序,采用深度优先遍历算法的思路,解决迷宫问题。
(1)建立迷宫对应的图数据结构,并建立其邻接表表示。
(2)采用深度优先遍历的思路设计算法,输出从入口(1,1)点到出口(M,N)的所有迷宫路径。
*/
代码:
#include <stdio.h>
#include <malloc.h>
#define MaxSize 100
#define M 4
#define N 4
//以下定义邻接表类型
typedef struct ANode //边的结点结构类型
{
int i,j; //该边的终点位置(i,j)
struct ANode *nextarc; //指向下一条边的指针
} ArcNode;
typedef struct Vnode //邻接表头结点的类型
{
ArcNode *firstarc; //指向第一条边
} VNode;
typedef struct
{
VNode adjlist[M+2][N+2]; //邻接表头节点数组
} ALGraph; //图的邻接表类型
typedef struct
{
int i; //当前方块的行号
int j;