美文网首页
我与数据结构的二次博弈(二)

我与数据结构的二次博弈(二)

作者: 丁小宁宁子 | 来源:发表于2018-11-21 21:57 被阅读0次

      线性表的顺序存储结构及实现

    1. 顺序存储结构的基本思想:

          用一组连续的存储单元依次存储数据元素,数据元素之间的逻辑关系由元素的存储位置来表示。

      线性表的顺序存储结构称为顺序表

      顺序表是用一段地址连续的存储单元依次存储线性表的数据元素。常用一维数组来实现,线性表的数据元素的序号和存放它的数组的下标有一一对应关系。

      线性表中有插入操作,所以数组长度Maxside应大于线性表长度Length。

      设顺序表的每个元素占用c个存储单元,则第i个元素(指该元素的序号为i)的存储地址(不是求a1到ai的存储空间的大小)为:

            LOC(ai)=LOC(a1)+(i-1)*c;

      其递归形式为:

            LOC(a i+1)=LOC(a i)+ c;

      任一个单元,其偏移地址+基准单元的绝对地址=该单元的绝对地址。

      2.顺序存储结构下的线性表的基本操作:

          是针对顺序表的操作,不是针对顺序表所在的数组的操作,所以,其中涉及到的表述为第i个元素或第i个位置中的i,均表示顺序表的元素序号。

        (1)构造函数

            有参构造函数创建长度为n的顺序表时,需检验n是否合法;线性表是存储在数组中的,所以,n应当满足n<=Maxside。

            顺序表的定义中定义有线性表的长度length,成功创建完线性表,应将n的值赋给length。

        (2)查找操作

              按位查找:需判断位置i是否超过线性表的长度length,且i不能小于0

              按值查找:若找到需返回序号,注意序号与下标的对应关系

          (3)插入操作

              在第i个位置插入一个新元素x,若插入成功,则线性表长度+1;

              首先找到插入位置:若位置不合理,则抛出异常;(1<=i<=length+1)

              找到插入位置后,第i个位置及其后位置的所有元素均后移一位(共有n-i+1个元素需后移)注意移动的先后次序。

              插入前需判断的两点: 是否表满,位置是否合理。

          (4) 删除操作

                判断位置是否合理;

                与插入操作相比,删除操作中的第i个元素不需要前移(共有n-i个元素需前移);

    清新

    相关文章

      网友评论

          本文标题:我与数据结构的二次博弈(二)

          本文链接:https://www.haomeiwen.com/subject/ptvhqqtx.html