/*
* Copyright(c)2015,烟台大学计算机学院
* All right reserved.
* 文件名称:项目5.cbp
* 作者:孙立立
* 完成日期;2015年12月10日
* 版本号;v1.0
* 问题描述:
设计一个程序,采用深度优先遍历算法的思路,解决迷宫问题。
(1)建立迷宫对应的图数据结构,并建立其邻接表表示。
(2)采用深度优先遍历的思路设计算法,输出从入口(1,1)点到出口(M,N)的所有迷宫路径。
* 输入描述:迷宫的邻接矩阵
* 程序输出:邻接表表示迷宫,走出迷宫所有的路径
*/
代码:
#include <stdio.h>
#include <malloc.h>
#define MaxSize 100
#define M 8
#define N 8
//以下定义邻接表类型
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;