- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
书面作业一:栈队列应用题2014一10一10
栈和队的应用----停车场管理 模拟停车场管理。 单链表和队的应用---航空订票系统 【基本要求】构建的航空订票系统应具有如下功能: (1)数据录入 (2)查询航线 (3)客票预订 (4)承办退票 (5)修改航班信息 (1)航班数据录入和维护: 每条航线所涉及的信息有:终点站名、航班号、飞机号、飞行周日(星期几飞行)、起飞时间、航班票价、票价折扣、乘员定额、余票量、已订票的乘客名单以及等候替补的客户名单。 (2)查询航线: 根据旅客提出的终点站名,输出下列信息:航班号、飞机号、星期几飞行、起飞时间、最近一天航班的日期,航班票价、票价折扣,确定航班是否满仓、余票额。 (3)客票预订: 根据客户提出的要求:终点站、航班号、飞机号、日期,查询该航班票额情况,若尚有余票,则为客户办理订票手续,输出订单编号和座位号;若已满员或余票少于订票额,则可以提供相关可选择航班,并需重新询问客户要求。若客户需要,可预约登记排队等候。 (4)承办退票: 根据客户提供的订单编号和姓名,核实客户资料:订单编号、姓名、证件号、订票额,若无误则办理退票手续; 然后查询该航班是否有人预约登记,首先询问队列中第一位客户,若所退票额能满足他的要求,则为他办理订票手续,否则依次询问其它排队预约的客户。 * “单链表和队列”、“栈和队列的应用” 二选一 【选题提示】 n 停车场 大门 便道 临时 停放 为给 要离 去的 汽车 让路 而从 停车 场退 出来 的汽 车 停车场内只有一个可停放n汽车的狭长通道, 只有一个大门可供汽车进出。汽车在停车场 内按车辆到达时间的先后顺序,依次由北向 南排列(大门在最南端,最先到达的第一辆 车停放在车场的最北端)。 若车场内已停满n辆汽车,则后来的汽车只能在门外的便道上等候,一旦有车开走,则排在便道上的第一辆车即可开入。 当停车场内某辆车要离开时,在它之后开入的车辆必须先退出车场为它让路,待该辆车开出大门外,其它车辆按原次序进入车场,每辆停放在车场的车在它离开停车场时必须按它停留的时间长短交纳费用。 【问题描述】 【基本要求】 停车场 park:停车场。用栈模拟,容量为n,栈中每个元素表示一辆汽车,包含两个数据项:汽车的牌照号码( id )和进入停车场的时刻( oclock )。 1.数据结构及存储结构 临时停放道 parktemp:临时停放道,为给要离去的汽车让路而从停车场退出来的汽车。用栈模拟,容量足够大,不会发生“上溢”。 停车场外便道 pavement:停车场外的便道,用队列模拟。 rear front evtype:事件类型 1--表示汽车“到达”,2--表示汽车“离开”,3--表示输入结束。 time:事件发生时间 【设计提示】 1.初始化。置队列和两个栈为空 2.输入数据。“到达”或“离去”信息、汽车牌照号 码、到达或离去的时刻 3.循环。当evtype不为3时执行 记录当前事件发生时间 oclock 若 evtype = 1 则 {处理汽车到达事件} 若 evtype = 2 则 {处理汽车离去事件} 2.算法设计 航空客运订票的业务活动包括:查询航线、客票预订和承办退票等。 查询航线 客票预订 承办退票 【问题描述】 stype:服务类型(1—查询航线,2—客票预订,3—承办退票) 数据结构及存储结构 linelist:为航线表, 采用顺序存储结构,并按航班号有序。 该表包含两项: (1)序号(No.), (2)指向各航线的指针(line)。 line:为指向航线的指针。 booed:指向已订票的客户名单booked_liner, 用线性链表表示 booking:指向预约登记客户名单book_chain, 用队列表示 【设计提示】 booked_liner:已订票的乘客单链表,并按订单编号有序。 提示:也可采用双向链表来实现 booking_chain:预约登记客户
文档评论(0)