Note.2 线性表及其存储结构
- 线性表的基本概念- 线性表的顺序结构
- 顺序表的插入运算
- 顺序表的删除运算
1.线性表的基本概念
在复杂线性表中,由若干项数据元素组成的数据元素成为记录,而由多个记录构成的线性表又称为文件
2.非线性表的结构特性
①有且只有一个根节点a1,它无前件。
②有且只有一个终端点an,它无后件。
③除根节点和终端节点外,其他所有节点有且只有一个前件,有且只有一个后件。节点个数n为线性表的长度,当n=0时,称为空表。
3.线性表的顺序存储结构
线性表的顺序存储结构具有以下两个基本特点
1.线性表中所有元素的所有元素的所占存储空间是连续的。
2.线性表中各数据元素在存储空间中是按照逻辑顺序依次存放的。
例如:ai ADR(ai)=ADR(a1)+(i-1)K
ADR(ai)为第一个元素的地址,k代表每个元素所占的字节数。插入过程
4.顺序的插入运算
1.插入的过程
(1).首先处理3种异常情况
①.当存储空间已满的时,为“上溢”错误,不能插入,运算结束。
②.当i>n时,认为在最后一个元素之后插入
③.当i<1时,认为在第一个元素之前插入
(2).然后从最后一个元素开始,直到i个元素,其中每一个元素均往后移动一个位置。
(3).最后将新的元素插入到第i个位置,并且将线性表的长度增加1。
5.顺序表的删除运算
(1).首先处理以下两种情况
①当线性表为空,(即n=0)时为“上溢”,算法结束;
②当i<1或i>n时
(2).然后从第i+1个元素开始,直到最后一个元素,其中每个元素依次向前移动一个位置。