第3章 表、栈和队列
3.1 抽象数据类型(Abstract Data Type,ADT)
模块(module)化程序设计:每个模块是一个逻辑单位并执行某个特定的任务,它通过调用其他模块而使本身保持很小。(程序设计基本法则之一——例程不应超过一页)
抽象数据类型是一些操作的集合。对于集合ADT,我们可以有并(union)、交(intersection)、求大小(size)以及取余(complement)等操作。或者也可以只要两种操作——并和查找(find),这两种操作又在该集合上定义了一种不同的ADT。
3.2 表(List)ADT
我们将处理形如 A 1 , A 2 , A 3 , … , A N A_1,A_2,A_3,…,A_N A1,A2,A3,…,AN的普通表,其大小为 N N N。
空表(empty list):大小为0的表
我们称 A i A_i Ai后继 A i − 1 A_{i-1} Ai−1,前驱 A i + 1 A_{i