鄰接矩陣實現無向圖的建立
阿新 • • 發佈:2019-02-01
#include<stdio.h> #define Maxsize 50 #define M 5000//定義無窮數值為5000 typedef struct { char vex[Maxsize];//頂點表 int arc[Maxsize][Maxsize];//矩陣表 int numVertexes,numEdges;//頂點數和邊數 }MGraph; void GreateGraph(MGraph *G) { int i,j,k; printf("請輸入頂點數和邊數:"); scanf("%d %d",&G->numVertexes,&G->numEdges); printf("請輸入頂點的值:"); for(i=0;G->numVertexes;i++) scanf("%c",&G->vex[i]); for(j=0;j<G->numVertexes;j++) for(k=0;k<G->numVertexes;k++) { G->arc[i][j]=M; } //初始化矩陣 for(i=0;i<G->numEdges;i++)//對每個邊賦予權值 { printf("輸入邊(Vi,Vj)的下標i,j和權值:"); scanf("%d %d %d",&i,&j,&k); G->arc[i][j]=k; G->arc[j][i]=G->arc[i][j]; } }