全文预览

实验五 图(to student)

上传者:qnrdwb |  格式:docx  |  页数:16 |  大小:31KB

文档介绍
输入图的顶点数和弧数.\n格式:顶点数,弧数;例如:5,7\n");Р printf("然后输入各弧和权值.\n格式:弧尾,弧头,权值;例如:\n1,2,10\n1,3,18\n2,4,5\n3,2,5\n4,3,2\n4,5,2\n5,3,2\n");Р printf("再输入从哪个顶点出发,例如:1\n");Р printf("程序将会找出从1到其余顶点的最短路径.\n");Р printf("10 1->2\n17 1->2->4->3\n15 1->2->4\n17 1->2->4->5\n");Рwhile(j!='N'&&j!='n')Р {CreateGraph(G); //生成邻接矩阵结构的图Р printf("从哪个顶点出发:");Р scanf("%d",&u); //输入迪杰斯特拉算法中的起始顶点Р ShortestPath_DiJ(G,u,P,D); //利用迪杰斯特拉算法求最短路径Р Print_ShortestPath(G,u,P,D); //显示最短路径Р printf("最短路径演示完毕,继续进行吗?(Y/N)");Р scanf(" %c",&j);Р }Р}Рvoid CreateGraph(Graph &G)Р{//构造邻接矩阵结构的图GР int i,j;Р int start,end,weight;Р printf("请输入图的顶点数和弧数(顶点数,弧数):");Р scanf("%d,%d",&G.vexnum,&G.um); //输入图的顶点数和边数Р for(i=1;i<=G.vexnum;i++)Р for(j=1;j<=G.vexnum;j++)Р G.arcs[i][j]=INFINITY; //初始化邻接矩阵Р printf("输入各弧和权值,格式:弧尾,弧头,权值\n");Р for(i=1;i<=G.um;i++)

收藏

分享

举报
下载此文档