本项目旨在通过设计航空客运订票系统,深入学习和应用数据结构知识。学生将实践各种数据结构如队列、树及哈希表等在机票预订场景中的具体实现与优化策略,以提高软件性能和用户体验为目标,增强实际问题解决能力。
一、问题描述:设计一个航空客运订票系统以实现航线查询、客票预订及退票等功能。
二、基本要求:
1. 每条航线的信息包括终点站名、航班号、飞机号、飞行周日(星期几)、乘员定额、余票量以及已预定客户的订单详情和等候替补的客户名单。
2. 作为示例系统,所有数据仅存储在内存中即可。
3. 系统应具备以下操作与功能:
a) 航线查询:根据旅客提供的终点站名显示航班号、飞机号、飞行日期(星期几)、最近一天的航班日期及余票量;
b) 客票预订:依据客户的要求(包括航班号和所需订票数)检查该航班剩余座位,若有空位则为客户办理预订手续并确认成功;若无足够席位或少于需求,则需再次询问客户需求。如有需要,可将客户列入等候替补名单;
c) 退票处理:根据客户的申请信息(日期、航班号),为客户提供退票服务,并检查是否有等待的候补乘客可以使用该空出的位置,优先考虑排队首位的人士;如果不能满足其要求,则依次询问其他候补者。