数据结构报告 校园导航问题

数据结构报告 校园导航问题

ID:14828567

大小:585.50 KB

页数:18页

时间:2018-07-30

数据结构报告 校园导航问题_第1页
数据结构报告 校园导航问题_第2页
数据结构报告 校园导航问题_第3页
数据结构报告 校园导航问题_第4页
数据结构报告 校园导航问题_第5页
资源描述:

《数据结构报告 校园导航问题》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、题目:校园导航问题班级:信计0901姓名:刘佺学号:3090104020完成日期:2011.6一:需求分析1.运行环境:MicrosoftVisualC++6.02.程序所实现的功能:设计一个校园导游程序,为来访的客人提供各种信息查询服务。为来访客人提供图中任意景点相关信息的查询。为来访客人提供图中任意景点相关信息的查询。3.程序的输入和包含输入的数据格式和说明:用户只需要按照页面的提示输入需要操作的序号,然后按回车确认即可。4.程序的输出格式和说明:当用户输入所要查询的地点序号,并且回车后,屏幕自动生成

2、所查询路径的最短路线和距离。5.测试数据:当用户进入最短距离查询界面后,输入起始地点序号1(江苏大学校大门)和终点序号后5(药学院),屏幕上自动生成这两条路径之间的最短距离519米,和最短路径江苏大学校大门→图书馆→药学院。当用户输入起始地点序号7(三江楼)和终点序号后13(女生一区),屏幕上自动生成这两条路径之间的最短距离1305米,和最短路径为三江楼→三山楼→东山操场→女生一区。二:设计说明(1).主要的数据结构设计说明:结构体的定义:typedefstructVertexType{intnumber

3、;char*sight;}VertexType;typedefstruct{VertexTypevex[NUM];intarcs[NUM][NUM];intvexnum;}MGraph;常量的定义:#defineMax32767#defineNUM1各个函数的定义:voidCreateMGraph(intv)//创建图的函数,其中v表示图中的顶点数voidMap()//地图展示函数,用于输出西安科技大学的平面简略图charMenu()//主菜单显示于操作界面voidInfo()//资料介绍函数,用于当用户

4、选择查询地点资料时输出地点的资料信息voidDijkstra(intnum)//迪杰斯特拉函数voidDisplay(intsight1,intsight2)//地图展示函数voidmain()//主函数的定义(2).程序的主要流程图求最短路径算法流程图:(3.)主函数对各个函数的调用工作(4).主要函数的说明:#defineMax32767//用Max来表示权值为此时的两点间直接不可达#defineNUM15//选取了学校的十七个地点用数组存储,其中数组第一个元素不存储地点以方便操作typedefstr

5、uctVertexType{intnumber;char*sight;}VertexType;//定义顶点的结构体类型,number表示顶点编号,字符数组表示顶点的名称typedefstruct{VertexTypevex[NUM];intarcs[NUM][NUM];intvexnum;}MGraph;//定义图的结构体类型,vex[NUM]数组存储顶点,arcsp[NUM][NUM]矩阵存储边的权值,vexnum表示顶点的个数MGraphG;{生成G表示结构体变量MGraph}intP[NUM][NU

6、M];//定义全局变量P[NUM][NUM]存储点之间的最短路径longintD[NUM];//定义全局变量D[NUM]存储点之间最短路径的权值voidDijkstra(intnum)//通过迪杰斯特拉算法求num点到其余点的最短路径,并将最短路径保存在数组P[NUM][NUM]中,将最短路径的权值保存在数组D[NUM]中{intv,w,i,t;intfinal[NUM];intmin;for(v=1;v

7、;//置初始的最短路径长度for(w=1;w

8、in){v=w;min=D[w];}final[v]=1;//与num相距最近的顶点并入S集for(w=1;w

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

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

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