项目三 北京地铁之 找到两站之间的最短路径

首先将txt文件中的信息读入到数组中

再读取的数组中提取信息,再建立一个数组,该数组存放不同地铁的站名。

然后再次基础上,建立每个点的邻接表。建立邻接表的时候还要考虑到地铁是否为环线,还有机场线的二,三航站楼要进行特殊处理。

再进行广度优先搜索(bfs)从起点开始出发,将其邻接表的点放入队列中,然后标记这些点防止重走。

搜到终点后直接跳出循环,然后对队列中的数据进行处理,从终点进行回溯若回溯得到起点,则得一个有效解。

再对的到的有效解进行处理获得是否换乘的信息:若在有效解中的一个站点,其上一个站与下一个站不在一条地铁线上,则说明该站要换乘。

至此第一部分的代码已完成。

下一篇博客将对第一部分完成的代码,进行调试汇报。

不足之处请大佬指教。

猜你喜欢

转载自www.cnblogs.com/xiao-ma-running/p/9023671.html