- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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
您可能关注的文档
最近下载
- 绿化养护标准图片手册(2015A).pdf VIP
- 《内科输血指南》课件.ppt VIP
- CECS 138-2002给水排水工程钢筋混凝土水池结构设计规程.pdf VIP
- 人教版八年级上册数学期末考试试卷含答案.pdf VIP
- 电子信息工程专业《毕业设计(论文)》教学大纲.pdf VIP
- 压力管道安装材料标识移植记录(示例)参考.docx
- 淮阴工学院2023-2024学年《高等数学(上)》期末考试试卷(A卷)含参考答案.pdf
- 二、DVP结算业务知识及注意事项.pdf VIP
- 高血压危象护理PPT课件.pptx VIP
- 山东省临沂市2024-2025学年高一上学期1月期末考试物理试题(解析版).docx VIP
原创力文档


文档评论(0)