//链式存储
//边表
typedef struct ArcNode
{
int adjvex; //该弧所指向的顶点
struct ArcNode *nextarc;//指向下一条弧
}ArcNode;
//顶点表
typedef struct VNode
{
int data;
ArcNode *firstarc;//指向第一条依附该顶点的弧
}VNode,AdjList[MAX];
//邻接表定义
typedef struct{
AdjList vertices;//邻接表
int vexnum,arcnum;//顶点数和边数
}ALGraph;
//数组表示法
int h[N],e[N],ne[N],w[N];
int idx=0;
void add(int v,int u)
{
e[idx] = u;ne[idx] = h[v];h[v]=idx++;
}