#include <stdio.h> #include "Graph.h" #define MAX_INT 32767 /* #define vnum 20 #define MAX_INT = 32767 // 邻接矩阵 typedef struct gp { int vexs[vnum]; // 顶点信息 int arcs[vnum][vnum]; // 邻接矩阵 int vexnum, arcnum; // 顶点数,边数 }Graph; */ // 无向带权图邻接矩阵的建立 void CreateGraph(Graph *g) { int i,j,n,e,w,k; int info; // 读入顶点数和边数 scanf("%d %d", &n, &e); g->vexnum = n; g->arcnum = e; // 读入顶点信息 for(i = 0;i < g->vexnum;i++) { scanf("%d", &info); g->vexs[i] = info; } // 初始化邻接矩阵 for(i = 0;i < g->vexnum;i++) { for(j = 0;j < g->vexnum;j++) { g->arcs[i][j] = MAX_INT; } } // 读入边(顶点对)和权值 for(k = 0;k < g->arcnum;k++) { scanf("%d %d %d", &i, &j, &w); g->arcs[i][j] = w; g->arcs[j][i] = w; } } // 伪算法,未必能运行 main() { }