- 1、本文档共24页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《数据结构与算法》实验报告
需求分析
【问题描述】
设计一个校园导游程序,为来访的客人提供各种信息查询服务。
【基本要求】
(1)设计你所在学校的校园平面图,所含景点不少于10个。以图中顶点表示校内各景点,存放景点名称、代号、简介等信息;以边表示路径,存放路径长度等相关信息。
(2)为来访客人提供图中任意景点相关信息的查询。
(3)为来访客人提供图中任意景点的问路查询,即查询任意两个景点之间的一个最短的简单路径。
【测试数据】
由读者根据实际情况指定。
【实现提示】
一般情况下,校园的道路是双向通行的,可设校园平面图是一个无向网。顶点和边均含有相关信息。
【选作内容】
(6)扩充每个景点的邻接景点的方向等信息,使得路径查询结果能提供详尽的导向信息。
概要设计
1)抽象数据类型定义描述
#includeiostream
using namespace std;
const int MaxSize=18;
const int INFINITY=65535;//最大值无穷
class direction;
template class T class MGraph;
template class T
class VertexNode//定义景点结点,存储景点信息
{
friend class MGraphT;
public:
int vex;//景点名称
T vexname;//景点名称
T vexinf;//景点信息
direction dir;//存放景点方位信息的direction类的dir。
};
class direction
{
public:
int ln;//存放在方向图中的横坐标,表示东西
int col;//存放在方向图中的纵坐标,表示南北
};
template class T
class MGraph//定义无向图的邻接矩阵
{
public:
MGraph();
//构造函数,初始化具有n个顶点的图
void printvexname();//显示所有景点及景点代号
void printvexinf(int i);//显示代号为i景点的名称及信息
void printroad(int i,int j);//显示景点i~j的最短路径方案信息
void printdir(int i,int j);//显示景点i到j的方向信息,如“向东100m,向南200m”
VertexNodeT adjlist[MaxSize]; //存放景点全部信息的 景点类数组
int vertexNum,arcNum; //图的顶点数和边数
void Root(int p,int q);//递归寻找pq间的最短路径
int Path[MaxSize][MaxSize],Dist[MaxSize][MaxSize];//创建Path和Dist分别存放两点间最短路径的前驱节点,两点间最短路径长度
int Line[MaxSize];//Line存放路径
int kkk;//在floyed算法中,做Line[]数组的标记
private:
T vertex[MaxSize]; //存放图中顶点的数组
int arc[MaxSize][MaxSize];//存放图中边的数组
};
2)功能模块设计(如主程序模块设计)
int funcchoice()//系统功能选择页面
{
int choice;
cout==============================================================endl;
cout 欢迎进入校园导游咨询平台endl;
cout 1--显示校园所有景点信息endl;
cout 2--查询校园景点信息endl;
cout 3--问路查询系统endl;
cout 4--退出导游资讯平台endl;
cout==============================================================endl;
cout请输入要选择的功能号:;
cinchoice;
return choice;
}
3)模块层次调用关系图
主程序菜单模式
问路模块
printroad(int i,int j)
查询信息模块
printvexname()
显示所有景点信息模块printvexinf(int i)
方位信息模块
printdir(int p,int q)
最短路径模块
Fl
您可能关注的文档
- 输电线路施工机械(概述及基础施工机械)分析.doc
- 输电线路小型气象站技术支持分析.pptx
- 输卵管妊娠的症状及诊断方法分析.ppt
- 输煤检修工试题分析.doc
- 输煤系统运规分析.doc
- 输煤综合楼玻璃幕墙施工作业指导书分析.doc
- 输气管道设计第三分析.ppt
- 输气管道设计第一分析.ppt
- 输入输出设备及接口技术分析.ppt
- 输入输出系统分析.doc
- 中国国家标准 GB/T 45390-2025动力锂电池生产设备通信接口要求.pdf
- 中国国家标准 GB/T 45393.2-2025信息技术 建筑信息模型(BIM)软件 第2部分:参数化模型.pdf
- GB/T 45393.2-2025信息技术 建筑信息模型(BIM)软件 第2部分:参数化模型.pdf
- 《GB/T 45393.2-2025信息技术 建筑信息模型(BIM)软件 第2部分:参数化模型》.pdf
- GB/T 10184-2025电站锅炉性能试验规程.pdf
- 海尔智家股份有限公司海外监管公告 - 海尔智家股份有限公司2024年度环境、社会及管治报告.pdf
- 上海复旦张江生物医药股份有限公司2024 环境、社会及管治报告.pdf
- 中国邮政储蓄银行股份有限公司中国邮政储蓄银行2024年可持续发展报告.pdf
- 豫园股份:2024年环境、社会及管治(ESG)报告.pdf
- 南京熊猫电子股份有限公司海外监管公告 - 2024年度环境、社会及治理(ESG)报告.pdf
文档评论(0)