邻接矩阵(AdjacencyMatrix)
邻接矩阵实现图的创建,图的邻接矩阵的存储的结构,代码如下
#include<stdio.h>
typedef char VertexType; //用户定义顶点的类型
typedef int EdgeType; //用户定义边上的权值类型
#define MAXVEX 100 //用户定义最大的顶点数
#define INFINITY 65535 //用这个数来表示无穷大
//关于无向图的定义
typedef struct{
VertexType vexs[MAXVEX]; //顶点表
EdgeType arc[MAXVEX][MAXVEX];
int numVertexes,numEdges;
}MGraph;
//建立无向图的邻接矩阵表示
void CreateGraph(MGraph *G){
int i,j,k,w;
printf("请输入顶点数和边数:\n");
scanf("%d,%d",&G->numVertexes,&G->numEdges);
for(i=0;i<G->numVertexes;i++){
scanf("%c",&G->vexs[i]);
}
for(i=0;i<G->numVertexes;i++){
for(j=0;i<G->numVertexes;j++){
G->arc[i][j]=INFINITY;
}
}
for(k=0;k<G->numEdges;k++){
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(){
}