欢迎来到天天文库
浏览记录
ID:13535050
大小:25.00 KB
页数:4页
时间:2018-07-23
《图的邻接表存储表存储表示》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、//------------------ͼµÄÁÚ½Ó±í´æ´¢±íʾ------------------#include#include#include#defineOK1#defineERROR0typedefintStatus;#defineMAX_VERTEX_NUM20#defineMAX_NAME3typedefintInfoType;typedefcharVertexType[MAX_NAME];typedefenum{DG,DN,UDG,UDN}GraphKi
2、nd;//{ÓÐÏòͼ,ÓÐÏòÍø,ÎÞÏòͼ,ÎÞÏòÍø}typedefstructArcNode{intadjvex;structArcNode*nextarc;InfoType*info;//¸Ã»¡ÓйØÐÅÏ¢µÄÖ¸Õë}ArcNode;typedefstructVNode{VertexTypedata;ArcNode*firstarc;}VNode,AdjList[MAX_VERTEX_NUM];typedefstruct{AdjListvertices;intvexnum,arcnum;intkind;}ALGr
3、aph;//Ç󶥵ãÔÚͼÖеÄλÖÃintLocateVex(ALGraphG,VertexTypeu){inti;for(i=0;i4、");scanf("%d",&(*G).kind);printf("ÇëÊäÈëͼµÄ¶¥µãÊý,±ßÊý:");scanf("%d,%d",&(*G).vexnum,&(*G).arcnum);printf("ÇëÊäÈë%d¸ö¶¥µãµÄÖµ(×î´óÃüÃûΪ%d¸ö×Ö·û):",(*G).vexnum,MAX_NAME);for(i=0;i<(*G).vexnum;++i){scanf("%s",(*G).vertices[i].data);(*G).vertices[i].firstarc=NULL;}if((*G5、).kind==16、7、(*G).kind==3)printf("ÊäÈëÿÌõ±ßµÄȨֵ+»¡Î²+»¡Í·:");elseprintf("ÊäÈëÿÌõ±ßµÄ»¡Î²+»¡Í·:");for(k=0;k<(*G).arcnum;++k){if((*G).kind==18、9、(*G).kind==3)scanf("%d%s%s",&w,v1,v2);elsescanf("%s%s",v1,v2);i=LocateVex(*G,v1);j=LocateVex(*G,v2);p=(ArcNode*)malloc(sizeof10、(ArcNode));p->adjvex=j;if((*G).kind==111、12、(*G).kind==3){p->info=(int*)malloc(sizeof(int));*(p->info)=w;}elsep->info=NULL;p->nextarc=(*G).vertices[i].firstarc;(*G).vertices[i].firstarc=p;if((*G).kind>=2){p=(ArcNode*)malloc(sizeof(ArcNode));p->adjvex=i;if((*G).kind==3){p->inf13、o=(int*)malloc(sizeof(int));*(p->info)=w;}elsep->info=NULL;p->nextarc=(*G).vertices[j].firstarc;(*G).vertices[j].firstarc=p;}}returnOK;}//Êä³övoidDisplay(ALGraphG){inti;ArcNode*p;switch(G.kind){caseDG:printf("½¨Á¢µÄÊÇÓÐÏòͼ:");break;caseDN:printf("½¨Á¢µÄÊÇÓÐÏòÍø:");br14、eak;caseUDG:printf("½¨Á¢µÄÊÇÎÞÏòͼ:");break;caseUDN:printf("½¨Á¢µÄÊÇÎÞÏòÍø:");}printf("%d¸ö¶
4、");scanf("%d",&(*G).kind);printf("ÇëÊäÈëͼµÄ¶¥µãÊý,±ßÊý:");scanf("%d,%d",&(*G).vexnum,&(*G).arcnum);printf("ÇëÊäÈë%d¸ö¶¥µãµÄÖµ(×î´óÃüÃûΪ%d¸ö×Ö·û):",(*G).vexnum,MAX_NAME);for(i=0;i<(*G).vexnum;++i){scanf("%s",(*G).vertices[i].data);(*G).vertices[i].firstarc=NULL;}if((*G
5、).kind==1
6、
7、(*G).kind==3)printf("ÊäÈëÿÌõ±ßµÄȨֵ+»¡Î²+»¡Í·:");elseprintf("ÊäÈëÿÌõ±ßµÄ»¡Î²+»¡Í·:");for(k=0;k<(*G).arcnum;++k){if((*G).kind==1
8、
9、(*G).kind==3)scanf("%d%s%s",&w,v1,v2);elsescanf("%s%s",v1,v2);i=LocateVex(*G,v1);j=LocateVex(*G,v2);p=(ArcNode*)malloc(sizeof
10、(ArcNode));p->adjvex=j;if((*G).kind==1
11、
12、(*G).kind==3){p->info=(int*)malloc(sizeof(int));*(p->info)=w;}elsep->info=NULL;p->nextarc=(*G).vertices[i].firstarc;(*G).vertices[i].firstarc=p;if((*G).kind>=2){p=(ArcNode*)malloc(sizeof(ArcNode));p->adjvex=i;if((*G).kind==3){p->inf
13、o=(int*)malloc(sizeof(int));*(p->info)=w;}elsep->info=NULL;p->nextarc=(*G).vertices[j].firstarc;(*G).vertices[j].firstarc=p;}}returnOK;}//Êä³övoidDisplay(ALGraphG){inti;ArcNode*p;switch(G.kind){caseDG:printf("½¨Á¢µÄÊÇÓÐÏòͼ:");break;caseDN:printf("½¨Á¢µÄÊÇÓÐÏòÍø:");br
14、eak;caseUDG:printf("½¨Á¢µÄÊÇÎÞÏòͼ:");break;caseUDN:printf("½¨Á¢µÄÊÇÎÞÏòÍø:");}printf("%d¸ö¶
此文档下载收益归作者所有