重学数据结构——线性表的顺序存储
线性表当然是首先要了解的数据结构,对于线性表线性表的顺序存储应该注意以下几点
- 在内存中是一片连续的空间
- 访问其中的某个元素与位置无关
- 对其插入与删除的时间复杂度均为O(n)
简单来说,线性表的顺序存储可以看作是数组,但因为我们需要快速得到线性表的长度,所以还需要一个变量来保存长度。所以,可以将线性表的结构简化记忆为:顺序存储线性表=对象数组+数组长度。
当了解了线性表的定义后,下面就应该是对线性表的操作了,基本操作如下:
- 初始化线性表
- 置空线性表
- 得到某个位置元素
- 在位置i插入对象
- 在位置i删除对象
- 销毁线性表
需要注意的是,在进行插入与删除操作时,需要对列表进行部分遍历。
插入操作思路:
- 判断空间是否已满
- 判断插入位置是否合理
- 判断插入点是否在表尾下一位置
- 不在时,从表尾遍历至目标点,数据后移
- 插入数据,表长度+1
删除操作思路:
- 判断表中是否存在元素
- 判断删除位置是否合理
- 判断删除点是否在表尾
- 不在时,从目标点下一位置遍历至表尾,数据前移
- 表长度-1