《数据结构课程设计》校园导游咨询项目预习报告

《数据结构课程设计》校园导游咨询项目预习报告
问题描述
设计一个校园导游程序,为来访的客人提供各种信息查询服务。

(1)设计学校的校园平面图,所含景点不少于10个,以图中顶点表示校内各景点,存放景点名称、代号、简介等信息;以边表示路径,存放路径长度等相关信息;

(2)为来访客人提供图中任意景点相关信息的查询;

(3)为来访客人提供景点的问路查询,即已知一个景点,查询到某景点之间的一条最短路径及长度。

算法思想
用直接赋值的方法给予各个景点信息,若两景点之间可达,则对路径长度赋值,对于自己到自己的路径,赋值为0,其他均赋成最大值。查看所有景点时,就遍历结构体数组,然后全部输出;查询景点,根据输入的景点代号,遍历数组然后利用字符串比较方法找到所查询的景点,输出景点的具体信息;修改景点信息的第一步为查找到该景点,然后将该景点的所有信息清空,重新输入即可;问路求最短路径及长度即是采用弗洛伊德算法,获得具体的最短路径时,从后往前追溯走过的结点,并且用一个数组记录下它的位置,然后再遍历数组输出所经过的每个点的信息。

算法设计
1、菜单显示void menu()——供用户选择的功能菜单。

2、输出所有景点信息void Allprint(AMGragh G)——输出景点名称、代号和简介。

3、建图void CreateUDG(AMGragh &G)——用直接赋值的方法给予各个景点信息,若两景点之间可达,则对路径长度赋值,对于自己到自己的路径,赋值为0,其他均赋成最大值。

4、修改信息void Change(AMGragh &G)——修改景点信息的第一步为查找到该景点,然后将该景点的所有信息清空,重新输入即可。

5、查询景点void Query(AMGragh G)——查询景点,根据输入的景点代号,遍历数组然后利用字符串比较方法找到所查询的景点,输出景点的具体信息。

6、弗洛伊德算法void Floyd(AMGragh G)——获得最短路径及长度。

7、获得具体路径void Path(AMGragh G,int a,int b)——从后往前追溯走过的结点,并且用一个数组记录下它的位置,然后再遍历数组输出所经过的每个点的信息。

8、问路void Ask(AMGragh G)——调用函数输出具体路径及长度。

9、主函数int main()——先调用建图函数,然后用while循环实现不断地对功能进行选择。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值