图的所有演示程序

图的所有演示程序

ID:14343107

大小:54.00 KB

页数:19页

时间:2018-07-28

图的所有演示程序_第1页
图的所有演示程序_第2页
图的所有演示程序_第3页
图的所有演示程序_第4页
图的所有演示程序_第5页
资源描述:

《图的所有演示程序》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、图的所有演示程序#include#include#include#defineMaxVertexNum20//最大顶点数设为20#defineMAXCOST32767typedefintVertexType;//顶点类型设为字符型typedefintEdgeType;//边的权值设为整型typedefstruct{VertexTypevexs[MaxVertexNum];//顶点表EdgeTypeedges[MaxVertexNum][MaxVertexNum];//邻接矩阵int

2、n,e;//图中顶点数和边数}MGraph;//邻接矩阵存储的图类型*/typedefstructEdgeNode//图的结点的结构{intadjvex;//邻接点域structEdgeNode*next;//指向下一个邻接点的指针域intw;//info表示边或弧的信息}EdgeNode;typedefstruct//表头(指针数组)分量的信息{VertexTypevertex;//顶点信息intdegree;EdgeNode*firstedge;//边表头指针}VertexNode;typedefVertexNodeAdjList[Max

3、VertexNum];typedefstruct//图的邻接表{AdjListadjlist;intn,e;//顶点数和边数}ALGraph;/*intvisited[MaxVertexNum];voidcreatemgraph(MGraph*&G)//建立图的邻接矩阵{inti,j,k,w,weight;printf("请输入顶点数和边数(输入格式为:顶点数,边数):");scanf("%d,%d",&G->n,&G->e);printf("请输入顶点信息(输入格式为:顶点号)");for(i=0;in;i++)sc

4、anf("%d",&(G->vexs[i]));for(i=0;in;i++)for(j=0;jn;j++){G->edges[i][j]=MAXCOST;if(i==j)G->edges[i][j]=0;}printf("请输入有向图(1),无向图(0)的信息:");scanf("%d",&w);printf("请输入每条对边的两个顶点的序号及其权值(输入格式为:i,j,weight):");for(k=0;ke;k++){scanf("%d,%d,%d",&i,&j,&weight);G->edges[i]

5、[j]=weight;if(w!=1)G->edges[j][i]=weight;}}*/voidcreateALGraph(ALGraph*&G){inti,j,w,k,tn,te;EdgeNode*s;inttag;printf("请输入有向图(1)或无向图(0):");scanf("%d",&tag);printf("请输入顶点数和边数(输入格式为:顶点数,边数):");scanf("%d,%d",&tn,&te);G->n=tn;G->e=te;printf("请输入顶点信息(顶点信息从0开始。输入格式为:顶点号)")

6、;for(i=0;in;i++)//对表头指针数组进行初始化操作{scanf("%d",&(G->adjlist[i].vertex));G->adjlist[i].firstedge=NULL;//对指向第一条边的指针置NULL}for(i=0;in;i++)G->adjlist[i].degree=0;printf("请输入边的信息(输入格式为,若不带权,则w=0):i,j,w");for(k=0;ke;k++){scanf("%d,%d,%d",&i,&j,&w);//读入与该边关联的两个顶点s=(EdgeN

7、ode*)malloc(sizeof(EdgeNode));s->adjvex=j;//表首添加法构建链表,将边加入到第i个链表s->w=w;s->next=G->adjlist[i].firstedge;G->adjlist[i].firstedge=s;G->adjlist[j].degree++;if(tag==0){//若是无向图,还要将此边加入到第j个链表s=(EdgeNode*)malloc(sizeof(EdgeNode));s->adjvex=i;s->w=w;s->next=G->adjlist[j].firstedge;G

8、->adjlist[j].firstedge=s;}}}//建立图的邻接表存储结构结束/*voidDFSAL(ALGraph*G,inti)//遍历图从第i个顶点开

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

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

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