下载此文档

校园导游系统数据结构图.doc


文档分类:高等教育 | 页数:约25页 举报非法文档有奖
1/25
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/25 下载此文档
文档列表 文档介绍
西安郵電學院数据结构实验报告题目:校园导游系统院系名称:计算机学院专业名称: 计算机科学与技术班级: 1006学生姓名:****学号(8位):*****指导教师:******设计起止时间:2011年12月12日~2011年12月16日题目要求1、设计学校的校园平面图, 地点(地点名称、地点介绍)不少于10个。2、提供图中任意地点相关信息的查询。3、提供图中任意地点的问路查询: 1)任意两个地点之间的一条最短(中转最少)的简单路径; 2)任意两个景点的最佳访问路线(带权)查询;3)任意两个地点之间的所有路径。4、地点和道路的扩充以及撤销; 地点基本信息的文件存储。(附加:加分题)(路程最短)任意两景点间最短路径(中转最少)任意两景点间所有路径景点查询查看景点简介创建图保存景点各个模块详细的功能描述。首先,main()函数调用loge()函数,输出欢迎界面,然后调用showmenu()函数来选择用户所要进行的操作。其中showmenu()函数就是一个菜单供使用者来选择他所要进行的相关操作,比如信息的查询,最短路径查询之类。browser()函数,用于输出校园平面图,给用户提供校园的景点分布状况,方便用户选择景点参观。Search()函数,用于查询用户所选的景点信息,用户需要输入要查询的景点编号,函数会对编号进行判断,如果是合法输入,则在屏幕上输出该景点的相关信息,包括景点名字,景点的相关介绍,否则返回重新输入。SearchAllpath()函数,用于查询用户所选的任意两个景点间的所有路径,用户需要输入要查询的起始景点编号,函数会对编号进行判断,如果是合法输入,用户需要输入要查询的终点景点编号,函数会对编号进行判断,如果是合法输入,则在屏幕上输出输查询的两个景点间的所有路径,否则返回重新输入。函数使用深度遍历DeepFirstSeach()查找路径。Wellway()函数,用于查询用户所选的任意两个景点间的最短路径,用户需要输入要查询的起始景点编号,函数会对编号进行判断,如果是合法输入,用户需要输入要查询的终点景点编号,函数会对编号进行判断,如果是合法输入,则在屏幕上输出输查询的两个景点间的最短路径,否则返回重新输入。函数的生成主体是迪杰斯特拉算法来计算出起点到终点之间的最短路径。minway()函数,用于查询用户所选的任意两个景点间的最佳路径(即中转最少),用户需要输入要查询的起始景点编号,函数会对编号进行判断,如果是合法输入,用户需要输入要查询的终点景点编号,函数会对编号进行判断,如果是合法输入,则在屏幕上输出输查询的两个景点间的最短路径,否则返回重新输入。CreatUDN()函数,创建的图,它是MGraph型,G->vexnum表示顶点的个数;G->um表示边数。CreatUDN()函数的功能就是实现图的创建,将已知的景点的一些信息,转换成图的信息,并进行存储。(主要函数的程序流程图)(中转最少)的简单路径利用遍历的思想,遍历图找出一条最佳最佳的的路径,让它遍历所有景点。往下遍历,访问标志位,若访问过在下次就不用访问。若找完一个分支在下次重新遍历。 zz[0]->zhi=m; zz[0]->front=NULL; flag[m]=1; for(top=0;top<20;top++) { for(i=0;i<20;i++) { if(G->arcs[zz[top]->zhi][i].adj!=INFINITY&&i==n) { printf("%s\n",G->vexs[n].name); printf("%s\n",G->vexs[zz[top]->zhi].name); zz[top]=zz[top]->front; while(zz[top]!=NULL) { printf("%s\n",G->vexs[zz[top]->zhi].name); zz[top]=zz[top]->front; } getch(); return; } elseif(G->arcs[zz[top]->zhi][i].adj!=INFINITY&&flag[i]==0) { zz[++j]->zhi=i; zz[j]->front=zz[top]; flag[i]=1; } } }开始输入起始点m,终点nif(G->arcs[zz[top]->zhi][i].adj!=INFINITY&&i==n)i++i<G->(带权)查询利用迪杰特斯拉算法,求v0到其余顶点的最短路径D[],p[][]是用来存放各路径的权值,借助辅助数组final[]标志,是否当前顶点属于final(1,属于)。 for(v=

校园导游系统数据结构图 来自淘豆网m.daumloan.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数25
  • 收藏数0 收藏
  • 顶次数0
  • 上传人2072510724
  • 文件大小377 KB
  • 时间2020-01-07