邻接表的定义与创建

来源:互联网 发布:java反射的原理图 编辑:程序博客网 时间:2024/06/07 02:12

 

/*定义邻接表*/#define    MaxVertexNum20typedef   char  VertexType;typedef   struct  node{   int    adjvex;   struct node *next;}EdgeNode;//定义边表 typedef   struct vnode{  VertexType   vertex;  EdgeNode  *link; }VNode,Adjlist[MaxVertexNum]; //定义顶点表;typedef    Adjlist    ALGraph;---------------------------------------------------------------------/*创建一个无向图的邻接表*/void   CreateGraph(ALGraph GL, int n , int e){int i,j,k;   EdgeNode  *p;for(i=0; i<=n; i++){     GL[i].vertex = getchar();GL[i].link = NULL;}for(k=0; k<e; k++){scanf("%d,%d",&i,&j);    p=(EdgeNode *)malloc(sizeof(EdgeNode));p->adjvex = j;p->next = GL[i].link;GL[i].link = p;p=(EdgeNode *)malloc(sizeof(EdgeNode));p->adjvex = i;p->next = GL[j].link;GL[j].link = p;}} 


 

原创粉丝点击