2.1.1 抽象数据类型线性表的定义 {引用型操作} ListEmpty( L ) 初始条件:线性表L已存在。 操作结果:若 L 为空表,则返回 TRUE,否则返回 FALSE。 |
判定线性表是否为空表。 |
|||
ListLength( L ) 初始条件:线性表 L 已存在。 操作结果:返回 L 中元素个数。 |
求得线性表的长度,即线性表中所含数据元素的个数。 | |||
PriorElem( L, cur_e, &pre_e ) 初始条件:线性表 L 已存在。 操作结果:若 cur_e 是 L 中的数据元素,则用 pre_e 返回它的前驱, 否则操作失败,pre_e 无定义。 |
若 cur_e 是线性表 L 中第一个数据元素,则它的前驱 pre_e 为"空元素"。 | |||
NextElem( L, cur_e, &next_e ) 初始条件:线性表 L 已存在。 操作结果:若 cur_e 是 L 中的数据元素,则用 next_e 返回它的后继, 否则操作失败,next_e 无定义。 |
若 cur_e 是线性表 L 中最后一个数据元素,则它的后继 next_e 为"空元素"。 | |||
GetElem( L, i, &e ) 初始条件:线性表 L 已存在,1≤i≤LengthList(L)。 操作结果:用 e 返回 L 中第 i 个元素的值。 |
此操作的结果是求得线性表 L 中和位序 i 相对应的数据元素,因此,只有当 i 的值在线性表的长度范围内才有意义。 | |||
LocateElem( L, e, compare( ) ) 初始条件:线性表 L 已存在,compare( ) 是元素判定函数。 操作结果:返回 L 中第1个与 e 满足关系 compare( ) 的元素的位序。 若这样的元素不存在,则返回值为0。 |
这是和上一个操作"相对"的操作,通常称为"定位函数",这是一种广义的定位函数写法,以
compare() 作为判定的条件,参数 e 和线性表中数据元素具有相同类型。较多场合是以"相等"作为判定条件,此时可省略函数参数,且操作结果为:若线性表中存在与
e 值相同的数据元素,则返回第一个这样的元素在表中的位序,否则返回函数值为0。 |
|||
ListTraverse(L, visit( )) 初始条件:线性表 L 已存在,visit( ) 为元素的访问函数。 操作结果:依次对 L 的每个元素调用函数 visit( )。 一旦 visit( ) 失败,则操作失败。 |
visit() 亦为函数参数,常见的情况是"依次输出表中元素的值",同样在这种情况下,通常的写法也是省略函数参数。 |