欢迎来到天天文库
浏览记录
ID:14136146
大小:361.50 KB
页数:34页
时间:2018-07-26
《中南 数据结构课程设计_大学论文.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、数据结构课程设计学院: 信息科学与工程学院专业班级: 指导老师: 学号: 姓名: 33目录校园导游咨询系统21.1.题目与要求21.2.设计与实现2基本思路2主要数据结构3程序的算法和主要流程4程序实现过程中的主要难点和解决方法51.3.实验结果及分析6实验的准备6实验结果及分析81.4.总结9简单的职工管理系统102.1.题目与要求102.2.设计与实现10基本思路10主要数据结构11程序的算法和主要流程11程序实现过程中的主要难点和解决方法132.3实验结果及分析15实验的准备15实验结果及
2、分析162.4总结19附件:2033校园导游咨询系统1.1.题目与要求1)自己画一张简易的校园平面图,有三个校区和三所附属医院,在这些校区和医院内选10个以上的建筑物、办公室、宿舍等地名。以图中顶点表示校园内各地名,存放地名名称、代号、简介等信息;以边表示路径,存放路径长度等有关信息。2)为来访客人提供图中任意地名相关信息的查询。3)为来访客人提供任意地名的问路查询,即查询任意两个地名之间的一条最短路径。实现提示:一般情况下,校园的道路是双向通行的,可设计校园平面图是一个无向网。顶点和边均含有相关信息。
3、1.2.设计与实现基本思路校园导游拓扑图33是由景点和景点之间的路径组成的,所以这完全可以用数据结构中的图来模拟。用图的结点代表景点,用图的边代表景点之间的路径。所以首先应设计一个图类。结点值代表景点信息,边的权值代表景点间的距离。结点值及边的权值用顺序表存储,所以需要设计一个顺序表类。本系统需要查询景点信息和求一个景点到另一个景点的最短路径长度及路线,为方便操作,所以给每个景点一个代码,用结构体类型实现。计算路径长度和最短路线时可用弗洛伊德(Floyd)算法实现。最后用switch选择语句选择执行浏览
4、景点信息或查询最短路径。主要数据结构链接矩阵,相关代码typedefstructarc{intadj;//路径长度}arc,adjmatrix[40][40];//建一个结构体数组保存路径长度typedefstructscenery//存储景点信息{intnum;//景点编号charname[20];//景点名称charintroduction[200];//景点介绍}scenery;typedefstructgraph{sceneryvexs[40];//点adjmatrixarcs;//边intve
5、xnum,arcnum;//点与边的个数}graph;graphb;33程序的算法和主要流程用弗洛伊德算法实现最短路径:voidfloyd(graph*G)//求有向网G中各对顶点v和w之间的最短路径p[v][w]{intv,u,i,w,k,j,flag=1,//及其带权长度D[v][w],若p[v][w][u]为TRUEp[10][10][10],D[10][10];//则u是从v到w当前求得最短路径上的点for(v=0;vvexnum;v++)for(w=0;wvexnum;w++)
6、{D[v][w]=G->arcs[v][w].adj;//初始路径赋值for(u=0;uvexnum;u++)p[v][w][u]=0;if(D[v][w]<9999)//从v到w有直接路径{p[v][w][v]=1;p[v][w][w]=1;}}for(u=0;uvexnum;u++)for(v=0;vvexnum;v++)for(w=0;wvexnum;w++)if(D[v][u]+D[u][w]7、r(i=0;ivexnum;i++)p[v][w][i]=p[v][u][i]8、9、p[u][w][i];}主要流程:intmain(){b=initgraph();//初始化while(1){Menu();//界面intchoice;//选择功能cin>>choice;switch(choice)33{case1:查看校园景点showall(&b);system("pause");system("cls");break;case2:查看景点信息showselect(&b);system("pau10、se");system("cls");break;case3:查找最短旅游路线floyd(&b);system("pause");system("cls");break;case4:退出系统exit(1);break;default:cout<<"请在1-4中选择操作!"<
7、r(i=0;ivexnum;i++)p[v][w][i]=p[v][u][i]
8、
9、p[u][w][i];}主要流程:intmain(){b=initgraph();//初始化while(1){Menu();//界面intchoice;//选择功能cin>>choice;switch(choice)33{case1:查看校园景点showall(&b);system("pause");system("cls");break;case2:查看景点信息showselect(&b);system("pau
10、se");system("cls");break;case3:查找最短旅游路线floyd(&b);system("pause");system("cls");break;case4:退出系统exit(1);break;default:cout<<"请在1-4中选择操作!"<
此文档下载收益归作者所有