#include <stdio.h>
#include <stdlib.h>
#define MaxInt 32767 //表示极大值,即∞
#define MVNum 100 //最大顶点数
#define Status int
#define OK 1
int visited[20]; //声明访问标记数组
#define StackInitSize 100 //初始大小
#define StackIncrement 10 //存储空间增量
#define QMAXSIZE 100 //循环队列的初始大小
typedef char VerTexType; //假设顶点的数据类型为字符型
typedef int ArcType; //假设边的权值类型为整型
typedef struct{
int vexs[MVNum]; //顶点表
ArcType arcs[MVNum][MVNum]; //邻接矩阵
int vexnum,arcnum; //图的当前点数和边数
}AMGraph;
typedef struct{ //队列
char *base;
int front,rear;
}SqQueue;
typedef struct{
char *base; //顺序栈的存储空间基址
int top; //栈顶指针
int stacksize; //存储空间大小
}SqStack; //顺序栈的类型
int LocateVex(AMGraph G,int u)
{//存在则返回u在顶点表中的下标;否则返回-1
int i;
for(i=0;i<G.vexnum;++i)
if(u==G.vexs[i])
return i;
return -1;
10-22