图的邻接矩阵存储结构及算法
来源:互联网 发布:郑州黑马程序员怎么样 编辑:程序博客网 时间:2024/04/29 08:00
代码部分:
#include <stdio.h>#include <malloc.h>#define MAXV 100 /*最大顶点数设为100*/#define LIMITLESS 9999typedef struct{ int no; //顶点编号 char info[20]; //顶点其他信息,类型视应用而定} VertexType; //顶点类型typedef struct //图的定义{ int edges[MAXV][MAXV]; //邻接矩阵 int n, e; //顶点数,弧数 VertexType vexs[MAXV];//存放顶点信息} MGraph;//建立一个图的邻接矩阵存储void CreateMGraph(MGraph *G){ /*建立有向图G 的邻接矩阵存储*/ int i,j,k,w; printf("请输入顶点数和边数(输入格式为:顶点数 边数):"); scanf("%d %d",&(G->n),&(G->e)); /*输入顶点数和边数*/ printf("请输入顶点信息(输入格式为:顶点号 顶点描述):\n"); for (i=0; i<G->n; i++) scanf("%d %s",&(G->vexs[i].no),G->vexs[i].info); /*输入顶点信息,建立顶点表*/ for (i=0; i<G->n; i++) /*初始化邻接矩阵*/ for (j=0; j<G->n; j++) { if(i==j) G->edges[i][j]=0; else G->edges[i][j]=LIMITLESS; } printf("请输入每条边对应的两个顶点的序号及权值(输入格式为:i j w):\n"); for (k=0; k<G->e; k++) { scanf("%d %d %d",&i,&j,&w); /*输入e 条边,建立邻接矩阵*/ G->edges[i][j]=w; /*若为无权图,直接G->edges[j][i]=1;,无需输入w*/ }}/*CreateMGraph*///显示一个用邻接矩阵存储的图void DispMGraph(MGraph *G){ int i,j; printf("顶点数: %d,边数: %d\n", G->n, G->e); printf("%d 个顶点的信息::\n", G->n); for (i=0; i<G->n; i++) /*输出顶点信息*/ printf("%5d %5d %s\n", i, G->vexs[i].no, G->vexs[i].info); printf("各顶点相连的情况:\n"); printf("\t"); for (j=0; j<G->n; j++) printf("[%d]\t", j); printf("\n"); for (i=0; i<G->n; i++) { printf("[%d]\t", i); for (j=0; j<G->n; j++) { if(G->edges[i][j]==LIMITLESS) printf("∞\t"); else printf("%d\t", G->edges[i][j]); } printf("\n"); }}/*DispMGraph*/int main(){ MGraph *g; g = (MGraph *)malloc(sizeof(MGraph)); CreateMGraph(g); DispMGraph(g); return 0;}
结果:
学习感受:很好理解
1 0
- 图的邻接矩阵存储结构及算法
- 数据结构例程——图的邻接矩阵存储结构及算法
- 图的邻接矩阵存储结构
- 图的存储结构 邻接矩阵
- 图的存储结构 --- 邻接矩阵
- 图的邻接矩阵存储结构
- 图的存储结构-邻接矩阵
- 图的存储结构-邻接矩阵
- 第十二周项目1-图的邻接矩阵存储及算法
- 数据结构:图的存储结构之邻接矩阵
- 图的存储结构(邻接矩阵)
- 图的存储结构(邻接矩阵法)
- 图的常用存储结构----邻接矩阵
- 图的数组(邻接矩阵)存储结构
- 图的存储结构——邻接矩阵
- 7.2图的存储结构(邻接矩阵)
- 图的存储结构——邻接矩阵
- 数据结构:图的存储结构之邻接矩阵
- 第11周 项目1-验证算法(1)层次遍历算法的验证
- Jump Game II 算法编程
- 连接查询
- WPF 自定义的图表(适用大量数据绘制)
- AVClass和AVOption
- 图的邻接矩阵存储结构及算法
- (第六周项目2)建立链栈算法库
- 第12周 项目1 - 图基本算法库
- 时间复杂度和空间复杂度2 – 数据结构和算法04
- JS实现点击按钮自动增加一个单元格
- 迷宫问题之图深度优先遍历解法
- CodeTyphon32中自带例子源码:大量物理现象模拟,太多了!
- ubntu系统配置vsftpd
- 第十二周实践项目1—图基本算法库