《C语言数据结构实现图的遍历.docx》由会员分享,可在线阅读,更多相关《C语言数据结构实现图的遍历.docx(3页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、#include#include#define VerNum 100 /*最大顶点数设为100*/typedef char VerType; /*顶点类型设为字符型*/typedef int EdType; /*边的权值设为整型*/typedef structVerType vexsVerNum; /* 顶点表 */ EdType edgesVerNumVerNum;/* 邻接矩阵,即边表 */ int n,e; /* 顶点数与边数 */Mgragh; /*Maragh是以邻接矩阵存储的图类型 */void CreateMGraph(Mgragh *G) /* 建立有向图G的邻接矩阵存储 */
2、int i,j,k,w; printf(请输入顶点数与边数(输入格式为:顶点数,边数):n); scanf(%d,%d,&(G-n),&(G-e);/*输入顶点数与边数*/ printf(请输入顶点信息(输入格式为:顶点号):n); for (i=0;in;i+)scanf(n%c,&(G-vexsi); /* 输入顶点信息,建立顶点表 */for (i=0;in;i+) for (j=0;jn;j+) G-edgesij=0; /*初始化邻接矩阵*/ printf(请输入每条边对应的两个顶点的序号(输入格式为:i,j):n); for(k=0;ke;k+) scanf(%d,%d,%d,&i
3、,&j,&w);/* 输入e条边,建立邻接矩阵 */ G-edgesij=w;/* 若加入G-edgesji=1;则为无向图的邻接矩阵存储建立 */void print(Mgragh *G) int i, j; for(i=0;in;i+) printf(%6c, G-vexsi); printf(n); for(i=0;in;i+) printf(%c, G-vexsi);for(j=0;jn;j+) printf(%5d, G-edgesij); printf(n);void main()Mgragh *g ;g=(Mgragh *)malloc(sizeof(Mgragh); CreateMGraph(g); print(g);第 3 页