#include<iostream> #include <cstdio> #include <cstdlib> using namespace std; //图的邻接矩阵存储结构 typedef char VertexType;//顶点类型应由用户定义 typedef int EdgeType;//边上的权值类型应由用户定义 #define ok 1 #define false 0 #define MAXVEX 100 //最大顶点数,应由用户定义 #define INFINITY 100000 //用65535代表无穷远,表示不相邻 typedef struct { VertexType vexs[MAXVEX];//顶点表 EdgeType arc[MAXVEX][MAXVEX];//邻接矩阵,可看作边表 int numVertexes,numEdges;//图中当前的顶点数和边数 }MGraph; int creat_graph(MGraph *g){ int i,j,k,w; //输入顶点数和边数 cin>>g->numVertexes>>g->numEdges; //初始化邻接矩阵 for(i=0;i<g->numVertexes;i++){ for( j=0;j<g->numVertexes;j++){ g->arc[i][j]=INFINITY; } } //用边数在邻接表中进行赋值操作 for( k=0;k<g->numEdges;k++){ cin>>i>>j>>w; g->arc[i][j]=w; //有向图时不需要这个,无向图时需要加上 g->arc[j][i]=g->arc[i][j]; } return ok; } //打印邻接表 int printf_linjiebiao( MGraph *g){ for(int i=0;i<g->numVertexes;i++){ for(int j=0;j<g->numVertexes;j++){ cout<<g->arc[i][j]<<" "; } cout<<endl; } return ok; } int main(int argc, char const *argv[]) { MGraph g; creat_graph(&g); printf_linjiebiao(&g); return 0; }
0.0分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复