首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 开源 FAQ 第二书店 博文视点 程序员
频道: 研发 数据库 中间件 信息化 视频 .NET Java 游戏 移动 服务: 人才 外包 培训
    图书品种:235680
       
热门搜索: ASP.NET Ajax Spring Hibernate Java

12.8  编程问题

(1) 为本章描述的ADT表创建基于引用的有序实现、基于数组的无序实现和基于引用的无序实现。

(2) 为本章介绍的两个表类(TableArrayBased和TableBSTBased)编写迭代器类。一定要包含remove操作的实现。

(3) 使用第3章描述的ADT列表和有序表,编写ADT表的无序和有序实现。

(4) 重复第11章编程问题4,将ADT表用作地址簿。

(5) 通过重用TableArrayBased类,实现练习题5描述的符号表。

(6) 如图12-9所示,可用堆之外的其他数据结构实现ADT优先队列。

a. 为图12-9b表示的基于引用的实现编写Java类。

b. 为图12-9c表示的基于二叉查找树的实现编写Java类。

c. 实现步骤a和b编写的类。

(7) 假设要实现一个优先队列,其优先级值为整数1到20。

a. 将优先队列实现为本章描述的队列堆。

b. 另一种解决方案使用20个队列的数组,其中每个队列对应一个优先级值。使用该方法来实现优先队列。

(8) 编写一个交互式程序,监管一家大医院的病人流动。程序应考虑病人的入院和出院,并允许访问指定病人的信息。另外,程序应管理三个手术室的时间安排表。医生请求包括病人姓名,以及表示手术紧急程度的优先级值(介于1到10)。按优先级值将病人送入手术室,对于优先级相同的病人,则遵循早来早手术的原则。

用户使用一个字母或一个单词的命令来控制程序。在设计解决方案时,试着标识必须执行的基本数据操作,并为实现选择适当的数据结构。该方法允许维护程序main部分和实现之间的墙。若有兴趣,可将该问题改写为事件驱动的模拟程序。

查看所有评论(0)条】

最近评论



正在载入评论列表...
热点评论