一、邻接矩阵
#include <iostream>
using namespace std;
#define MaxVertexNum 100 //顶点最大数目
//邻接矩阵存储结构
typedef struct{
char Vex[MaxVertexNum]; //顶点表
int Edge[MaxVertexNum][MaxVertexNum]; //边表
int vexnum,arcnum; //图当前顶点数和弧数
}MGraph;
二、邻接表
#include <iostream>
using namespace std;
#define MaxVertexNum 100 //顶点最大数目
//邻接表存储结构
typedef struct ArcNode{ //边表结点
int adjvex; //该弧所指向的顶点的位置
struct ArcNode *next; //指向下一条弧的指针
int info; //网的边权值
}ArcNode;
typedef struct VNode{ //顶点表信息
char data; //顶点信息
ArcNode *first; //指向第一条依附该顶点的弧的指针
}VNode,AdjList[MaxVertexNum];
typedef struct{
AdjList vertices; //邻接表
int vexnum,arcnum; //图的顶点数和弧数
}ALGraph; //ALGraph是以邻接表存储的图类型