火车票余票计算的一种方法

       出差时,聊天中跟人讨论了一下这个问题,当时想到的方法是利用“连线法”来计算不同车站、不同行程的余票量。即,假如一趟车有500个座位,这趟车有20个站点,每当有一人购买了一张票,那么就将这张票的起始点连成一条直线,如此,整个系统只要用500前去每个站点上方的直线数,应该能将各个站点到另一站点的余票计算出来了。具体示意图如下:

       当时还是很兴奋的,毕竟深入了解一趟车各站点到另外站点的余座关系后,会发现这个问题还是挺复杂的。今天偶尔回想起这个问题,网上搜了搜这方面的解决方案,发现一篇博客不但用了这种思路,还把这种思路如何转换成数据字典都设计好了,佩服!

其数据表的构建如下:

 

        上述表中,一趟车的每一个座位,单独用一条记录来表示,其中’座位标示’字段总共18位,每一位代表一个站点,有两个状态:0和1。比如我买一张起始站到第5站的车票,那么该字段的值将变为:11111000000000000。如此,我们只要统计500条记录中,该字段18位中,每一位0的总个数,就能够算出余票了!

详情见:https://www.cnblogs.com/feichengwurao/p/5191253.html

猜你喜欢

转载自www.cnblogs.com/Edison25/p/10475999.html