#include "stdlib.h"
#include "stdio.h"
#define EdgeType int
#define VertexType char
#define MaxVerNum 10
#define MAXSIZE 20
#define DataType int
#define MAX 1000
#define true 1
#define false 0
int visited[MaxVerNum];
//定义的一个标志图的顶点是否已经被访问的全局数组
int tag;
//用于标识图的边是否具有权值,有则tag=true,否则为false
typedef struct enode{
int adjvertex;
EdgeType info;
struct enode *next;
}EdgeNode;
//定义边的信息
typedef struct vnode{
VertexType vertex;
EdgeNode * fristEdge;
}VertexNode;
//顶点的信息
typedef struct tnode{
char vertex1,vertex2;
EdgeType info;
struct tnode *next;
}*PlowestTree,lowestTree;
//prim需要的最小生成树边的数据结构
typedef struct{
int ver1,ver2;
EdgeType info;
}edgeInfo;
//kruskal法需要的数据结构
typedef struct{
VertexNode adjlist[MaxVerNum];
int n,e;
}ALGraph;
//定义邻接表存储的图
typedef struct{
int data[MAXSIZE];
int front,rear;
}sepQueue,*PsepQueue;
//队的数据结构