地铁规划项目需求理解和设计思路

地铁规划项目需求理解和设计思路

需求理解

  • 将地铁线路保存成一个可读入,简洁明了的文本
  • 程序能正确读入这个文件,并获取地铁线路信息
  • 程序能正确处理输入的命令行
  • 地铁能正确输出指定地铁线经过的站点
  • 程序能正确输出两个站点间的最短路径
  • 程序要有健壮性,能通过各类性能测试
  • 按要求编写博客,详细说明花费时间,代码,各个模块和测试用例

设计思路

文本格式

1号线 刘园 西横堤 果酒厂 本溪路 勤俭道.....

2号线 曹庄 卞兴 荠园西道 咸阳路......

3号线 小淀 丰产河 华北集团......

按照每条线路的站点顺序,依次保存,不考虑换乘的情况和站点重复出现的问题

程序设计

因为考虑到对C语言的熟悉程度和想运用最短路径算法Dijkstra算法,所以决定采用C++语言来编程

读入文本和初始化

依次读入每个站点,并利用map表,为每个站点分配一个id号。在依次读入每个站点的时候,将后一个站点和前一个站点的距离设置为1,用数组dis保存,即dis[1][2]=1,即每个相邻站点间的距离都为1,不相邻站点间的距离为正无穷大。

指定地铁线路查询

在读取文本的时候,就在way数组里面保存进每条地铁线路的每个站点,比如一号线的第一个站点就是way[1][1];这样在查询地铁线路的时候,输入几号线就是way[几],再去map表里面查询出来名字,输出。

查询两站点间的最短路径

利用Dijkstra算法,不断更新path[]数组和统计路径长度。最后去map表里面查询,然后按照线路输出。

posted on 2019-09-20 20:27  31701002罗灵洁  阅读(423)  评论(0编辑  收藏  举报

导航