收藏 分销(赏)

数据结构采用邻接矩阵构造无向网G.doc

上传人:s4****5z 文档编号:8898999 上传时间:2025-03-07 格式:DOC 页数:5 大小:85KB
下载 相关 举报
数据结构采用邻接矩阵构造无向网G.doc_第1页
第1页 / 共5页
数据结构采用邻接矩阵构造无向网G.doc_第2页
第2页 / 共5页
点击查看更多>>
资源描述
实验目的 采用数组(邻接矩阵)表示法,构造无向网G 实验内容 编程序并上机调试运行。 采用数组(邻接矩阵)表示法,构造无向网G 编写程序 //采用邻接矩阵表示法,构造无向网G #define MAX_VERTEX_NUM 20 //最大顶点个数 #include<stdio.h> //typedef enum {DG,DN,UDG,UDN} Graphkind; typedef struct ArcCell{ int adj; // int *info; }ArcCell,AdjMatrix[MAX_VERTEX_NUM][MAX_VERTEX_NUM]; typedef struct { int vexs[MAX_VERTEX_NUM]; AdjMatrix arcs; int vexnum,arcnum; //GraphKind kind; }MGraph; int CreateUDN(MGraph G){ int i,j,k,v1,v2,w; printf("请输入顶点数和边数(中间用逗号隔开):\n"); scanf("%d,%d",&G.vexnum ,&G.arcnum ); for(i=0;i<G.vexnum ;i++) {printf("请输入顶点信息:"); scanf("%d",&G.vexs[i]); getchar(); } for(i=0;i<G.vexnum ;++i) //初始化邻接矩阵 for(j=0;j<G.vexnum ;++j) {G.arcs[i][j].adj =0; // G.arcs[i][j].info =NULL; } for(k=0;k<G.arcnum ;++k){ //构造邻接矩阵 printf("请输入边和权值(输入格式为:i,j,w):\n"); scanf("%d,%d,%d",&v1,&v2,&w); getchar(); i=LocateVex(G,v1); j=LocateVex(G,v2); G.arcs[i][j].adj=w; //if(IncInfo) Input(*G.arcs[i][j].info); G.arcs[j][i].adj =G.arcs[i][j].adj ; } //输出 printf("\n"); printf("****************************************\n"); printf("输出:\n"); for(i=0;i<G.vexnum ;i++) { for(j=0;j<G.vexnum ;j++) printf("%4d",G.arcs[i][j].adj ); printf("\n"); } printf("****************************************\n"); return 0; } //LocateVex函数 int LocateVex(MGraph G,int ver){ int i; for(i=0;i<G.vexnum;++i) if(G.vexs[i]==ver) return i; } //main函数 int main() { MGraph G; CreateUDN(G); return 0; } 运行程序: 输入6个顶点和10条边,依次输入以上权值<1,2,6> <1,3,1> <1,4,5> <2,3,5> <2,5,3> <3,4,5> <3,5,6> <3,6,4> <4,6,2> <5,6,6> 然后输出矩阵表,可以看到其权值是对应的。 程序解析: 1.编写头文件,定义最大顶点个数为20个. 定义权值类型为int型,顶点和弧数为int型。顶点类型为int型。 2. 编写函数CreateUDN。 先用一个scanf获得用户的顶点数和边数输入,类型为整型。然后用一个for语句将0到顶点数的顶点信息输入,然后初始化邻接矩阵,用内外循环将矩阵都初始化为最大值,最大值默认为0.让其每一位的初始值都为0. 然后构造邻接矩阵,用一个for函数实现邻接矩阵数据的输入,对应到行和列。用scanf获得用户输入,类型为整型。然后i和j调用LocateVex函数。使矩阵对应的值为权值,然后进行对称弧的定义。 输出矩阵。先内循环输出横向的权值,在外循环输出竖向的权值。 3.编写LocateVex函数。 设ver为int型,用一个for语句实现循环,从0到顶点数,若顶点等于ver则返回第几个顶点i. 4.建立main函数。 Main函数直接调用CreateUDN函数。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服