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

本文探讨了一种基于内存的快速售票系统设计方案,旨在确保每位乘客在乘车过程中都能拥有独立座位。通过对座位采用数组进行描述,而对每个座位的售票情况则使用链表表示,解决了长途与短途票务管理的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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

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

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

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


解答:选B

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

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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值