typedef struct {
int edges[maxnum][maxnum]; //邻接矩阵定义,如果是有权图,将int改为float
int n, e;//分别为顶点数和边数
VertexType vex[maxnum]; //存放顶点信息
}MGraph; //图的邻接矩阵类型
typedef struct ArcNode{
int adjvex; //该边所指向的结点位置
struct ArcNode* nextarc; //指向下一条边结点的指针
int info; //该边结点的相关信息
}ArcNode;
typedef struct{
char data; //顶点信息
ArcNode* firstarc; //指向第一条边结点的指针
}VNode;
typedef struct {
VNode adjlist[maxnum]; //邻接表
int n, e;//顶点数和边数
}AGraph;
typedef struct {
int no;//顶点编号
char info;//顶点其它信息
}VertexType;//顶点类型
typedef struct {
int edges[maxnum][maxnum]; //邻接矩阵定义,如果是有权图,将int改为float
int n, e;//分别为顶点数和边数
VertexType vex[maxnum]; //存放顶点信息
}MGraph; //图的邻接矩阵类型
完整代码
#include<iostream>
#define maxnum 100
using namespace std;
typedef struct ArcNode{
int adjvex; //该边所指向的结点位置
struct ArcNode* nextarc; //指向下一条边结点的指针
int info;