算法题100-快速售票系统的座位登记

题目:为了提供全程对号(考虑长途、短途旅客情况下,每一位旅客在上车到下车期间都有独立座位)的快速售票系统,铁路公司设计了基于内存的系统。适合描述一个车次车票情况的数据结构是()

A、用数组描述座位,数组描述每个座位的售票情况

B、用数组描述座位,链表描述每个座位的售票情况

C、用链表描述座位,数组描述每个座位的售票情况

D、用链表描述座位,链表描述每个座位的售票情况


解答:选B

1.座位与座位之间是相互独立的,而且数据量可预知,不需要插入和删除操作。数组方便快速访问某个座位。

2.每个座位的售票情况描述:

每个座位可以被授予多人。比如北京到郑州的一趟列车。

座位A可这样出售:北京-石家庄可售一张票m,石家庄到邯郸一张票n。邯郸到郑州一张票p。那么,每张票可以用链表中的结点m,n,p来表示(结点中的数据可以包括起点位置和终点位置)。m的next指针指向n,n的next指针指向p。应当满足n(后继结点)的起点位置在m(前驱结点)的终点位置之后。同一个座位的售票情况可用这样的链表来表示。因为同一个座位能够售出的票数是不同的,可以是1张长途的,或者多张短途的,所以用数组不太合适。而且这些票之间是有前驱和后继关系。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值