/*图的存储结构——邻接矩阵*/
#include<stdio.h>
#include<stdlib.h>
#define MAXVEX 100 /*最大顶点数*/
#define INFINITY 65535 /*用65535来代表∞*/
typedef char VertexType; /*顶点*/
typedef int EdgeType; /*权值*/
typedef struct
{
VertexType vexs[MAXVEX]; /*顶点表*/
EdgeType arc[MAXVEX][MAXVEX]; /*邻接矩阵,可看作边表*/
int numVertexes,numEdge; /*图中当前的顶点数和边数*/
}MGraph;
/*建立无向网图的邻接矩阵表示*/
void GreateMGraph(MGraph * G)
{
int i,j,k,w;
printf("输入顶点数和边数:\n");
scanf("%d%d",&G->numVertexes,&G->numEdge);
for(i=0;i<G->numVertexes;i++) /*读入顶点信息,建立顶点表*/
{
scanf(" %c",&G->vexs[i]);
}
for(i=0;i<G->numVertexes;i++)
for(j=0;j<G->numVertexes;j++)
G->arc[i][j]=INFINITY; /*邻接矩阵初始化*/
for(k=0;k<G->numEdge;k++) /*读入numEdges条边,建立邻接矩阵*/
{
printf("输入边(Vi,Vj)上的下标i,下标j,和权w:\n");
scanf("%d,%d,%d",&i,&j,&w);
G->arc[i][j]=w;
G->arc[j][i]=G->arc[i][j];
}
}
int main()
{
return 0;
}
图的存储结构——邻接矩阵
最新推荐文章于 2022-11-04 18:24:55 发布