《最短路径校园最短路径》课程设计源代码.docxVIP

《最短路径校园最短路径》课程设计源代码.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《最短路径-校园最短路径》 源程序代码 #include stdio.h #include iostream.h includestdlib.h #includeconio.h #include malloc.h includestring.h #define MAX 10000 #define MAXLEN 8 #define ADJTYPE int typedef struct { char name[30]; int num; JVEXTYPE; typedef struct { VEXTYPE vexs[MAXLENJ; ADJTYPE arcs[MAXLEN][MAXLEN]; int vexnum,arcnum ; JMGraph; MGraph b; MGraph InitGraph() { int i,j; MGraph G; Gvexnum =8; G.arcnum =13; for(i=0;iG.vexnum;i++) G.vexs[i].num=i; strcpy(G.vexs ⑹.name,” 第四教学楼”); strcpy(G vexs[ 1 ] .name,第三教学楼”); strcpy(G.vexs[2].name,n 图书馆”); strcpy(G.vexs[3].name,食堂”); strcpy(G.vexs[4].name,n 第一教学楼”); strcpy(G.vexs[5].name,n 第二教学楼”); strcpy(G.vexs [6].name,M 综合实验楼”); strcpy(G.vexs[7].name,n 校医院”); fbr(i=O;iGvexnum;i++) for(j=0;jG.vexnuin;j++) G.arcs[il[j]=MAX; G.arcs[0][l]=130; 〃图中顶点表示点,存放点名称 〃顶点的信息 〃邻接矩阵 〃顶点数和边数 /*建立无向网的邻接矩阵结构*/ 〃存放顶点数 〃存放边点数 Garcs[0][2]=80; G.arcs[O] [31=260; G.arcs[l][31=75; G.arcs[2][4]=50; G.arcs[3][4]=120; G.arcs[l][5]=265; Garcs[3][5]=85; Garcs ⑶⑹=400; G.arcs[4][6]=350; G.arcs[5][6]=120; G.arcs[4][7]=200; Garcs[6][7]=150; for(i=0;iG.vexnum;i++) for(j=0;jG.vexnum;j++) G.arcs[j][i]=Garcs[i][j]; return G; } void Menu() 〃输 lL1 菜单 { cout?n需要输出顶点的信息请按0\nn; cout?需要边的信息输出请按l\n; cout?n需要修改请按2\n”; cout?H需要求出最短路径请按3\n”; coutvv”需要删除某个顶点请按4\n”; cout?H需要删除某条边请按5\n”; cout?需要插入某条边请按6\n; cout?n需要退出请按7\n”; } void PutOutVex(MGraph *G) 〃输出每个顶点的信息 { int v; for(v=0;vG ? vexnum;v++) cout?G-vexs[v].num?G-vexs[v].name?endl; } void PutOutArc(MGraph *G) 〃输出每条边的信息 { for(int i=0;iG-vexnum;i++) for(int j=O;jG ? vexnum;j++) if(G-arcs[i][j]MAX) {cout?n 从 ?G-vexs[i].name?M 到 r ?G- vexs [j ] ,name?G-arcs [i] [] ] ?endl; 〃修改void Change(MGraph *G) { int v0,vl,length; 〃修改 cout?Hchange\nn; cin?vO; cin?vl; cout?nlength:n; cin?length; G-arcs[vO][v l]=G-arcs[v l][vO]=length; void Dijkstra(MGraph * G)〃迪杰斯特拉算法求最短路径 void Dijkstra(MGraph * G) 〃迪杰斯特拉算法求最短路径 int v,w,i,min,t=O,x,vO,vl; int final[20], D[20], p[20][20]; cout?H请输入源顶点:\n”; cin?vO; if( v00| | vOG- vexnum) cout?此点编号不存在!请重新输入顶点编号:”; c

文档评论(0)

ggkkppp + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档