邻接矩阵构建

#include "stdio.h"
#define MAX_VERTEX_NUM 20
typedef struct ArcCell{
int adj;
}ArcCell,AdjMatrix[MAX_VERTEX_NUM][MAX_VERTEX_NUM];
typedef struct {
char vexs[MAX_VERTEX_NUM];
AdjMatrix arcs;
int vexnum,arcnum;
}MGraph;
int LocateVex(MGraph G,char v)
{
   for(int i=0;i<G.vexnum;++i)
    if(G.vexs[i]==v)
     return i;
}
int CreateUDN(MGraph &G)
{
 int i,j,k,w;
 char v1,v2;
 printf("vexnum=");
 scanf("%d",&G.vexnum);
 printf("arcnum=");
    scanf("%d",&G.arcnum);
 printf("Vexs=");
 for(i=0;i<G.vexnum;++i)
   scanf("%c",&G.vexs[i]);
 for(i=0;i<G.vexnum;++i)
  for(j=0;j<G.vexnum;++j)
               G.arcs[i][j].adj=0;
  
    for(k=0;k<G.arcnum;++k)
 {
   
  scanf("%c,%c,%d/n",&v1,&v2,&w);
  i=LocateVex(G,v1);
  j=LocateVex(G,v2);
  G.arcs[i][j].adj=w;
  G.arcs[j][i].adj=G.arcs[i][j].adj;
 }

 return 1;
}
void main()
{
MGraph g1;

CreateUDN(g1);

}

阅读更多
文章标签: struct include c
个人分类: 数据结构
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭