线性表及其基本运算
一。线性表(linear_list)
线性表是n个数据元素的有限序列
记为:L = ( a1,a2,...,an )
数据元素之间的关系是:
a(i-1)领先于ai, ai领先于a(i+1)
称a(i-1)是ai的直接前驱元素;a(i+1)是ai的直接后继元素
除a1外,每个元素有且仅有一个直接前驱元素,
除an外,每个元素有且仅有一个直接后继元素,
当n = 0 时,称为空表。
线性表是最常用且最简单的一种数据结构
它的形式化定义为:linear_list = ( D ,R )
其中,D = {ai | ai 属于 D0, i = 1,2,...,n, n> 0}
R = { N },N ={ <a(i - 1) ,ai > } | a(i - 1),ai属于D0,i = 2,3,...,n}
D0为某个数据对象,N是一个序偶的集合,
它表示线性表中数据元素之间的相邻关系
二。基本运算
INITIATE( L ) 初始化操作 设定一个空的线性表 L
LENGTH( L ) 求长度函数 函数值为线性表L中数据元素的个数
GET(L , i ) 取元素函数 1 <= i <=LENGTH( L )时,返回L中的第i个数据元素,
否则为空元素NULL, i称为该数据元素在L中的 位序
PRIOR(L , elm) 求前驱函数 elm为L中的一个数据元素,若它的位序大于1,
则函数值为elm前驱,否则为NULL
NEXT(L ,elm) 求后继函数 若elm的位序小于表长,则函数值为elm的后继,否则为NULL
LOCATE( L , x ) 定位函数 给定值x,若x不在表中,则返回0,否则,
返回x在表中第一次出现时的位序
INSERTE ( L , i , b) 前插操作 在第i个元素之前插入新元素b,
i取值范围为: 1 <= i <=(n+1); i = ( n + 1 )表示在表尾插入,n为表长
DELETE(L ,i ) 删除操作 删除线性表L中的第i 个元素, 1<= i<= n
EMPTY ( L , i ) 判空表函数 若L为空表,则返回布尔值"true",
否则返回"false"
CLEAR (L) 表置空操作 将L置为空表