1. 程式人生 > >鄰接矩陣實現無向圖的建立

鄰接矩陣實現無向圖的建立

#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];
		}
}