同步阅读进度,多语言翻译,过滤屏幕蓝光,评论分享,更多完整功能,更好读书体验,试试 阅读 ‧ 电子书库
保持ADT的完整当您定义了一个ADT的接口之后,您只能使用接口函数来处理数据类型。比如,注意DeQueue()依赖EnQueue()来正确设置指针并设置末节点的next指针为NULL。如果在一个使用该ADT的程序中,您直接操作队列的某些部分,将有可能破坏接口包中函数之间的协作关系。
程序清单17.7显示了所有的接口函数,包括EnQueue()中用到的CopyToItem()函数。
程序清单17.7 queue.c实现文件17.4.4 测试队列在重要程序中使用一个新的设计(比如队列包)之前,应先对这个新设计进行测试。测试的一种方法是编写一个短小的程序。这样的程序有时被称为驱动程序(driver),其惟一用途是进行测试。例如,程序清单17.8使用一个可以添加和删除整数的队列。在运行程序之前,要确保下面这行代码出现在头文件queue.h中:
还要记住,需要链接queue.c和use_q.c。
程序清单17.8 use_q.c程序下面是一个运行示例,您还应该测试当队列满了之后实现是否还能做出正确的动作。
请支持我们,让我们可以支付服务器费用。
使用微信支付打赏
