#include #include
#define MAXV 100//最大顶点个数
int visited[MAXV];//全局数组
typedef intInfoType;
typedefstruct{int edges[MAXV][MAXV];//邻接矩阵
int vexnum,arcnum; //顶点数,弧数
} MGraph;//图的邻接矩阵类型
typedefstructANode
{int adjvex; //该弧的终点位置
struct ANode *nextarc; //指向下一条弧的指针
InfoType info; //该弧的相关信息,这里用于存放权值 n
} ArcNode;//弧的结点结构类型
typedef structVnode
{//int data;//顶点信息
ArcNode *firstarc;//指向第一条弧
} VNode;//邻接表头结点的类型
typedef struct{
VNode adjlist[MAXV];//邻接表
int n,e;//图中顶点数n和边数e
} ALGraph;//图的邻接表类型
void init(MGraph &g);//初始化邻接矩阵
void MatToList(MGraph,ALGraph *&);//将邻接矩阵g转换成邻接表G
void DispAdj(ALGraph *);//输出邻接表G
void DFS(ALGraph *G,int v);//深搜
void BFS(ALGraph *G,int v);//广搜
voidmain()
{
MGraph g;
<