数据结构:线性表(1)
本文最后更新于 2024年6月7日 下午
线性结构特点:
1.存在唯一的第一个“数据元素”。
2.存在唯一的最后一个“数据元素”。
3.除第一个元素外,集合中元素存在唯一后继,除最后一个元素外,集合中元素存在唯一前驱。
线性表:
1.一个线性表是n个数据结构的有序集合
2.线性表中数据元素的个数称为线性表的个数,n=0时称为空表
线性表基本操作:
结构初始化
InitList(*L)
操作结果:构造一个空的线性表 L
销毁结构
DestroyList(*L)
初始条件:线性表 L 已存在
操作结果:销毁线性表 L
PriorElem( L, cur_e, *pre_e )
初始条件:线性表 L 已存在
操作结果:若 cur_e 是 L 中的数据元素,则用 pre_e 返回它的前驱,否则操作失败,pre_e 无定义
NextElem( L, cur_e, *next_e )
初始条件:线性表 L 已存在
操作结果:若 cur_e 是 L 中的数据元素,则用 next_e 返回它的后继,否则操作失败,next_e 无定义
ListEmpty( L )
初始条件:线性表L已存在
操作结果:若 L 为空表,则返回 TRUE,否则返回 FALSE
ListLength( L )
初始条件:线性表 L 已存在
操作结果:返回 L 中元素个数
GetElem( L, i, *e )
初始条件:线性表 L 已存在1≤i≤LengthList(L)。
操作结果:用 e 返回 L 中第 i 个元素的值。
LocateElem( L, e)
初始条件:线性表 L 已存在。
操作结果:返回 L 中与 e 相等的元素的序号。若这样的元素不存在,则返回值为0。
ClearList( *L )
初始条件:线性表 L 已存在。
操作结果:将 L 重置为空表。
ListInsert( *L, i, e )
初始条件:线性表 L 已存在,1≤i≤LengthList(L)+1。
操作结果:在 L 的第 i 个元素之前插入新的元素 e,L 的长度增1。
ListDelete( *L, i, *e )
初始条件:线性表 L 已存在且非空,1≤i≤LengthList(L)。
操作结果:删除 L 的第 i 个元素,并用 e 返回其值,L 的长度