/// Chapter10.h: 第十章的结构定义和函数声明
const int NUM_OF_VEX = 8; //顶点数
//以下是邻接矩阵的定义
typedef struct graphArray
{
char vex[NUM_OF_VEX]; //顶点数组
int arcs[NUM_OF_VEX][NUM_OF_VEX]; //邻接矩阵
}graphArray;
//以下是邻接表的定义
//edgeNode是边的定义
typedef struct edgeNode
{
int adjvex; //邻接点域
struct edgeNode* pNext; //链域
}edgeNode;
//vexNode是顶点的定义
typedef struct vexNode
{
char vertex; //顶点域
edgeNode* pLink; //指针域
}vexNode;
//以下是函数声明
void initializeGraph(vexNode* head, const int numOfVex);
void initializeEdgeNode(edgeNode* head);
edgeNode* newEdgeNode();
vexNode* constructGraph(const int size);
void findPathDepth(vexNode* graph, const int size, const char source, const char target);
void findPathWidth(vexNode* graph, const int size, const char source, const char target);
void visit(vexNode* vex);
void printEdges(vexNode* vexes, const int size);
vexNode* searchNode(vexNode* vexes, const int size, const char data);