[工学]数据结构课程设计报告-学校导游系统

[工学]数据结构课程设计报告-学校导游系统

ID:44415635

大小:629.08 KB

页数:35页

时间:2019-10-21

[工学]数据结构课程设计报告-学校导游系统_第1页
[工学]数据结构课程设计报告-学校导游系统_第2页
[工学]数据结构课程设计报告-学校导游系统_第3页
[工学]数据结构课程设计报告-学校导游系统_第4页
[工学]数据结构课程设计报告-学校导游系统_第5页
资源描述:

《[工学]数据结构课程设计报告-学校导游系统》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、西安郵電學院数將结构课程设计报告题目:校园导游系统院系名称:计算机学院专业名称:计算机科学与技术班级:学生姓名:学号(8位):指导教师:设计起止时:一.设计目的1学会图的存储、图的保存与读取。2学会图的深度遍历和广度遍历。3学会图的查找。4学会找图的最短路径、转折点最少的路径和所有路径。二.设计内容1界面。2图的存储、保存、及读取。3图的查找。4找图重量景点之间的最短路径、转折点最少的路径和所有路径。三.概要设计四.详细设计1创建图createUDN(*G)调用函数LocateVertex()2查找景点GetVertex(*G)调用函数map()3查找最短路径zdload(G*

2、)调用函数AddListQLocateVertex()JoinList()4查找转折点]少的路径调用了函数second()zzdload(*G)LocateVertex()InitStack()biao()5查找两景点间的所有路径allload(*G)调用了函数biao()LocateVertex()fond()6函数调用7重点设〃用邻接矩阵存储结构创建图intcreateUDN(AdjMatrix*G)charname1[30]^name2[30];printf「请输入定点数和弧数:J;scanf(n%d%dn,&G->vexnum,&G・>arcnum);for(i=0;i

3、vexnum;i++)for(j=0;jvexnum;j++)G->arcs[i][j].adj=INFINITY;for(i=0;ivexnum;i++){printfT输入第%d个顶点信息H,i+1);printf「地点名scanf(f,%su,G->vertex[i]vertex[i]Jianjie);flushall();printf(H********************************for(k=0;karcnum/2;k++)prin

4、tf「输入第%d条弧的两定点的地点名M,k);printf(n第一个顶点名:”);scanf(ft%sfamel);flushall();printf(H第二个顶点名V);scanf(n%sH,name2);flushall();printfC诙值:scanf(n%d*&weight);printf(Ifff■■rjwrjwrjw、i=LocateVertex(Qnamel);j=LocateVertex(G,name2);G->arcs[i][j].adj=weight;G->arcs[j][i].adj=G->arcs[i][j].adj;}return1;}

5、〃合并线性表SeqListJoinList(SeqListq,SeqListp){inti;for(i=l;i<=p.last;i++){q.last++;q.a[q.last]=p.a[i];}returnq;}〃两景点的最短路径voidzdload(AdjMatrix*G){intdist[MAX_VERTEX_NUM][MAX_VERTEX_NUM],ij,k,p,q;SeqListpath[MAX_VERTEX_NUM][MAX_VERTEX_NUM];charnamel[30],name2[30];for(i=0;ivexnum;i++)for(j=0;j

6、->vexnum;j++){//InitList(&path[i][j]);path[i][j].last=-l;dist[i][j]=G->arcs[i][j].adj;if(dist[i]rj]vexnum;k++)for(i=0;ivexnum;i++)for(j=0;jvexnum;j++)if(dist[i]UJ>(dist[i][k]+dist[k][j])){dist[i][j]=dist[i][k]+dis

7、t[k][j];path[i][j]=JoinList(path[i][k],path[k][j]);}do{biao();printf(”请输入要查找的开始地点:J;scanf(n%sn,namel);flushall();printf(u请输入要查找的结束地点T);scanf(n%sn,name2);flushallO;p=LocateVertex(G,name1);q=LocateVertex(G,name2);for(k=0;k<=path[p][q].last;k++)printf

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

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

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