01.什么是线性表
1.线性表(Linear List)定义
线性表就是由n(n>=0)个数据元素(A1,A2,A3,.....An)组成的有限序列。
a.数据元素的个数n称为表的长度,当n=0的时候称为空表
b.如果一个线性表非空,即n>0,可以简单的记作(A1,A2,A3,.....An)
c.数据元素Ai(1<=i<=n)表示了各个元素,不同的场合其含义不同
对于一个非空的线性表,其逻辑结构特征如下
1.有且仅有一个开始结点A1,没有直接的前趋结点,有且仅有一个直接的后继结点A2.
2.有且仅有一个终结结点An,没有直接后继结点,有且仅有一个直接前趋结点A(n-1)
3.其余的内部结点Ai(2<=i<=n-1)都有且仅有一个直接前趋结点A(i-1)和一个直接的后继结点A(i+1)
4.对于同一线性表,各数据元素Ai必须具有相同的数据类型,即同一线性表中各数据元素具有相同的类型,每个数据元素的长度相同。
02.线性表的基本运算
线性表的基本运算包括如下内容。
1.初始化
初始化表(Init List)即构造一个空的线性表L。
2.计算表长
计算表长(List Length)即计算线性表L中结点的个数。
3.获取结点
获取结点(Get Node)即取出线性表L第i个结点的数据,这里1<=i<=ListLength(L)
4.查找结点
查找结点(Locate Node )即在线性表L中查找值为x的结点,并返回该结点在线性表L中的位置。如果在线性表中没有找到值为x的结点,则返回一个错误标志。则返回一个错误标志,线性表中可能含有多个于x值相同的结点,那么此时就返回第一次查找到的结点。
5.插入结点
插入结点(Insert List)即在线性表中L的第i个位置插入一个新的结点,使得其后的结点编号依次加1.插入一个新结点后,线性表L的长度将变为n+1.
6.删除结点
删除结点(Delete List)即删除线性表L中的第i个结点,使得其后的所有结点编号依次减1。删除一个结点之后,线性表L的长度将为n-1
’