机票行程单_取空闲卡号段的算法

 

 

说明:getFreejourneySegment()  方法会返回当前登录空间下面所领取到的号段和已经发放出去的号段。

这个算法还有一个小前提,就是自己所拥有的号段必须是不连续的,不然判断时会有问题,处理方式是把连续的合成一个。

如 1-10 11-20 变成 1-20

 

第一个 Table 是自己所拥有的号段,第二个Table 是已经发放出去的号段。

 

把自己所有拥有的号段起止值都往外扩展一位,如 1-10  变成 0-11

已发放出去的号段则不需要变化。

 

然后把这些值全部放到一个数组里面 arrayList().选择 arrayList() 是因为它有一个自动排序功能。不过也有不好的地方,就是它是按字符型式排序的。"99">"100" ,如果碰到这种减一就会少一位的情况,处理方式是在前面补一个零。(这里没有做处理)

 

后面就比较简单了,只是简单作一个比较判断就可以了。前面之所有把空间号段往外扩展正是希望这种比较能够统一,不需要区分是空闲的,还是已发放过。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值