第3章 线性表的链式存储-实训例题.pptVIP

  • 20
  • 0
  • 约2.77千字
  • 约 9页
  • 2018-02-26 发布于河南
  • 举报
第3章 线性表的链式存储-实训例题

* 实训例题 实训例题 航班定票系统 【问题描述】 假设某航班(NF_B969N/2007.9.20 17:30:00)有N个座位,座位号依次为:1,2,3,…,n,要求算法能够实现订票、退票,乘客登记表按照乘客姓名的字母顺序排列。 【基本要求】 由于每一航班座位有未订与已订两种状态,所以需设置两个顺序表(或两条链表),用以表示未订座位(链)表与已订座位(链)表。订票过程就是对未订座位(链)表删除一元素,对已订座位(链)表插入从未订座位(链)表中删除的元素。退票过程则相反,对已订座位(链)表的删除一元素,对未订座位(链)表插入从已订座位(链)表中删除的元素。由于频繁的插入与删除操作,所以存储结构选择链表,同时考虑到无其它特殊要求,链表选用单链表即可。 2.6 实训例题 【模块划分】 ①建立带头结点的单链表Create,该模块对订票前的航班座次初始化,单链表每个结点只有座位号信息,且按座位号升序排列,即初始化未订座位链表。 ②订票服务Reserve, 该模块删除未订座位链表中的第一个结点,输入的乘客信息存放在该结点中,并将其插入到按乘客姓名升序排列的已订座位链表中。 ③退票服务Returnt, 该模块根据输入的乘客身份证号,首先在已订座位链表中进行查找,若找到相应结点,则将其从已订座位链表中摘下,并插入到按座位号升序排列的未订座位链表中;若没有找到相应结点,则给出从未

文档评论(0)

1亿VIP精品文档

相关文档