1、实验目的采用数组(邻接矩阵)表示法,构造无向网 G实验内容编程序并上机调试运行。采用数组(邻接矩阵)表示法,构造无向网 G编写程序/采用邻接矩阵表示法,构造无向网 G#define MAX_VERTEX_NUM 20 /最大顶点个数#include/typedef enum DG,DN,UDG,UDN Graphkind;typedef struct ArcCellint adj;/ int *info;ArcCell,AdjMatrixMAX_VERTEX_NUMMAX_VERTEX_NUM;typedef struct int vexsMAX_VERTEX_NUM;AdjMatrix ar
2、cs;int vexnum,arcnum;/GraphKind kind;MGraph;int CreateUDN(MGraph G)int i,j,k,v1,v2,w;printf(“请输入顶点数和边数(中间用逗号隔开) :n“);scanf(“%d,%d“,for(i=0;i 然后输出矩阵表,可以看到其权值是对应的。程序解析:1.编写头文件,定义最大顶点个数为 20 个.定义权值类型为 int 型,顶点和弧数为 int 型。顶点类型为 int 型。2.编写函数 CreateUDN。先用一个 scanf 获得用户的顶点数和边数输入,类型为整型。然后用一个 for 语句将 0 到顶点数的顶点信
3、息输入,然后初始化邻接矩阵,用内外循环将矩阵都初始化为最大值,最大值默认为 0.让其每一位的初始值都为 0.然后构造邻接矩阵,用一个 for 函数实现邻接矩阵数据的输入,对应到行和列。用 scanf 获得用户输入,类型为整型。然后 i 和 j 调用 LocateVex 函数。使矩阵对应的值为权值,然后进行对称弧的定义。输出矩阵。先内循环输出横向的权值,在外循环输出竖向的权值。3.编写 LocateVex 函数。设 ver 为 int 型,用一个 for 语句实现循环,从 0 到顶点数,若顶点等于 ver 则返回第几个顶点 i.4.建立 main 函数。Main 函数直接调用 CreateUDN 函数。