顺序存储结构(线性表)

来源:互联网 发布:数据迁移工具在哪 编辑:程序博客网 时间:2024/06/05 16:11
S1线性表的基本概念:
1)有而且只有一个“第一元素”。
2)有而且只有一个“最后元素”。
3)除第一元素之外,其他元素都有唯一的直接前驱。
4)除最后元素之外,其他元素都有唯一的直接后继。

S2计算公式:
若第一个元素的地址是a,每个元素占用的存储空间为d,则数组的第i个元素的地址可以用如下公式计算:
Loc(i)=a+(i-1)*d


S3顺序表元素的插入
1)空表的情况:只能在下标为[1]的地方插入

2)元素未满的情况:可以插入指定的位置。(前提:如下图,不能插入下标为[6]的位置

假设:我们就以上图为例,如果要将95插入到下标为[2]的位置的时候,这个时候我们需要考虑的是,要
把下标为[2]的位置的空间腾出来给将要插入的元素95所使用,如果做到这一点呢?
解:我们可以用过“搬家”的办法解决这个问题,就是把下标为[4]的元素向后移动,移动到下标为[5]的位置,
然后将下标为[3]的元素移动到下标为[4]的地方,最后将下标为[2]的元素移动到下标为3的位置,这样我们
就把下标为[2]的空间腾出来了,接下来把元素95放入到下标为[2]的位置即可,此时就元素插入成功了。
3)空间已满的情况:这时候就需要再分配一块空间,然后进行插入。(前提:不能插入下标为[8]以及之后的位置

具体如何插入办法,可以参照2)

S4顺序表元素的删除
1)空表的情况:删除失败。
2)表中有元素的情况:(前提:不能删除下标[4]以后的位置

假设:我们就以上如为例,如果要删除下标为[3]的元素,那么跟插入有一个相似的地方就是,都需要“搬家”,
只要把下标为[4]的元素移动到下标为[3]的位置即成功删除了下标为[3]的元素。

S5顺序表部分代码






原创粉丝点击