#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() { }