java mysql 公交车换乘查询算法_一年前用java写的一个公交换乘算法测试,实现一次换乘 | 学步园...

packagecom.dear.uniteMysqlPostgresql;

/**

*公交换乘一站的

*(注意:车次信息、站点信息、公交信息是等价的都是以HashMap的形式存储信息)

*1.从数据库中获得所有公交信息存储到ArrayList,每个具体信息的元数据有三个:

*公交车次、公交站点、该公交站点距离该公交车次的始发站点的站数,具体信息用HashMap保存

*2.然后把公交信息数据进行结构化,把所有公交站点抽出,再把每一个站点对应的所有车次抽出

*与其一一对应,单一的车次信息用HashMap存储,站点对应的所有车次信息用ArrayList存储,

*所有的站点有经过站点的车次信息用HashMap存储

*3.根据查询要求,分别从结构化以后的公交信息数据中找到,经过出发地的所有车次,经过目的地

*的所有车次,然后在分别遍历每个车次,筛选出符合要求的中转站点,筛选规则是:每查询出一个

*站点时,得到该站点距离该站点对应车次的始发站的站数,如果这个站数小于查询站点距离该车次的始

*发站的站数,那么就符合规则,便把该站点信息保存到符合站点的ArrayList中,反之亦然

*4.分别得到查询条件中出发地和目的地的中转站点信息(中转站点信息存储在ArrayList中),然

*后遍历两个中转站点信息的集合,得到所有中转信息(最终中转信息也是用ArrayList存储)

*5.最后处理所有中转信息,即是把中转信息中是相同的两个车次的信息进行合并

*比如有两个换乘方法:109到龙泽换乘2

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值