线性表的定义和基本操作(笔记自用
线性表的定义(linear list
线性表是具有相同数据类型(每个数据元素所占空间一样大)的n(n>=0)个数据元素的有限序列(有次序),其中n为表长,当n=0时,线性表是一个空表。若用L命名线性表,一般表示为
L=(a1,a2,…,ai,ai+1,…,an)
ai是线性表中的第i个元素线性表中的位序
注意:数据元素的位序从1开始,和数组不同
a1是表头元素;an是表尾元素
除第一个元素外,每个元素有且仅有一个直接前驱;除最后一个元素外,每个元素有且仅有一个直接后继
线性表基本操作:
InitList(&L):初始化表。构造一个空的线性表L,分配内存空间。
DestroyList(&L):销毁操作。销毁线性表,并释放线性表L所占用的内存空间。
ListInsert(&L,i,e):插入操作。在表L中的第i个位置上插入指定元素e。
ListDelete($L,i,&e):删除操作。删除表L中第i个位置的元素,并用e返回删除元素的值。
LocateElem(L,e):按值查找操作。在表L中查找具有给定关键字值的元素
GetElem(L,i):按位查找操作。获取表L中第i个位置的元素的值
其他常用操作:
Length(L):求表长。返回线性表L的长度,即L中数据元素的个数。
PrintList(L):输出操作。按前后顺序输出线性表L的所有元素值。
Empty(L):判空操作。若L为空表,则返回true,否则返回false。
注意:对参数的修改结果需要带回来才使用&
为什么要实现对数据结构的基本操作
1,团队合作编程,你定义的数据结构要让别人能够很方便的使用(封装)
2,将常用的操作/运算封装成函数,避免重复工作,降低出错风险