当前位置: 代码迷 >> 综合 >> 图的邻接矩阵存储和邻接表存储定义方法
  详细解决方案

图的邻接矩阵存储和邻接表存储定义方法

热度:5   发布时间:2024-02-06 19:45:38.0

一、邻接矩阵

#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是以邻接表存储的图类型