地铁规划项目需求理解和设计思路
需求理解
- 将地铁线路保存成一个可读入,简洁明了的文本
- 程序能正确读入这个文件,并获取地铁线路信息
- 程序能正确处理输入的命令行
- 地铁能正确输出指定地铁线经过的站点
- 程序能正确输出两个站点间的最短路径
- 程序要有健壮性,能通过各类性能测试
- 按要求编写博客,详细说明花费时间,代码,各个模块和测试用例
设计思路
文本格式
1号线 刘园 西横堤 果酒厂 本溪路 勤俭道.....
2号线 曹庄 卞兴 荠园西道 咸阳路......
3号线 小淀 丰产河 华北集团......
按照每条线路的站点顺序,依次保存,不考虑换乘的情况和站点重复出现的问题
程序设计
因为考虑到对C语言的熟悉程度和想运用最短路径算法Dijkstra算法,所以决定采用C++语言来编程
读入文本和初始化
依次读入每个站点,并利用map表,为每个站点分配一个id号。在依次读入每个站点的时候,将后一个站点和前一个站点的距离设置为1,用数组dis保存,即dis[1][2]=1,即每个相邻站点间的距离都为1,不相邻站点间的距离为正无穷大。
指定地铁线路查询
在读取文本的时候,就在way数组里面保存进每条地铁线路的每个站点,比如一号线的第一个站点就是way[1][1];这样在查询地铁线路的时候,输入几号线就是way[几],再去map表里面查询出来名字,输出。
查询两站点间的最短路径
利用Dijkstra算法,不断更新path[]数组和统计路径长度。最后去map表里面查询,然后按照线路输出。
原文地址:https://www.cnblogs.com/luolingjie/p/11559700.html
时间: 2024-11-07 00:34:27