邻接表存储结构建立无向图

邻接表存储结构建立无向图

ID:13051778

大小:29.50 KB

页数:3页

时间:2018-07-20

邻接表存储结构建立无向图_第1页
邻接表存储结构建立无向图_第2页
邻接表存储结构建立无向图_第3页
资源描述:

《邻接表存储结构建立无向图》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、//算法功能:采用邻接表存储结构建立无向图#include#include#defineOK1#defineNULL0#defineMAX_VERTEX_NUM20//最大顶点数typedefintStatus;//函数的类型,其值是函数结果状态代码typedefcharVertexType;typedefintVRType;typedefintInforType;typedefstructArcNode{intadjvex;//该边所指的顶点的位置structArcNode*nextarc;//指向下一条边的指针intw

2、eight;//边的权}ArcNode;//表的结点typedefstructVNode{VertexTypedata;//顶点信息(如数据等)ArcNode*firstarc;//指向第一条依附该顶点的边的弧指针}VNode,AdjList[MAX_VERTEX_NUM];//头结点typedefstructALGraph{AdjListvertices;intvexnum,arcnum;//图的当前顶点数和弧数}ALGraph;//返回顶点v在顶点向量中的位置intLocateVex(ALGraphG,charv){inti;for(i=0;v!=G.ve

3、rtices[i].data&&i=G.vexnum)return-1;returni;}//构造邻接链表StatusCreateUDN(ALGraph&G){intj;ArcNode*s,*t;printf("输入无向图顶点数:");scanf("%d",&G.vexnum);printf("输入无向图边数:");scanf("%d",&G.arcnum);getchar();for(inti=0;i

4、ces[i].data);//构造顶点向量G.vertices[i].firstarc=NULL;getchar();}charv1,v2;for(intk=0;k

5、c(sizeof(ArcNode));t=(ArcNode*)malloc(sizeof(ArcNode));s->adjvex=j;//该边所指向的顶点的位置为js->nextarc=G.vertices[i].firstarc;G.vertices[i].firstarc=s;t->adjvex=i;//该边所指向的顶点的位置为jt->nextarc=G.vertices[j].firstarc;G.vertices[j].firstarc=t;}returnOK;}StatusPrintAdjList(ALGraph&G){ArcNode*p;print

6、f("%4s%6s%12s","编号","顶点","相邻边编号");for(inti=0;inextarc)printf("%4d",p->adjvex);printf("");}returnOK;}intmain(){ALGraphG;CreateUDN(G);rintAdjList(G);return0;}

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。