线性表的顺序储存结构

  • A+

线性表:有零个或多个数据元素组成的有限序列

(a1,a2,......,ai-1,ai,ai+1,.......an)

其中ai-1是ai的直接前驱元素

ai+1是ai的直接后继元素

概念就不多说了

百度一大把

重点是实现

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

这里使用C#语言


这里使用泛型来兼容多种数据类型

并规定了数据类型为值类型

_data是用来储存数据的数据域

使用数组来表达顺序储存结构

数组的元素之间的储存单元是连续的

_maxLength规定线性表可以储存元素的最大值

也就是数组的最大储存值

_currentLength是当前线性表元素的个数


编写两个构造函数

一个使用默认的线性表长度

一个可以自定义数组的长度也就是线性表的长度


为线性表中添加元素

这个很简单

①先判断一下线性表是否已满,满了给出提示

②如果没有满,则将元素放到最后

③将线性表当前元素长度自加


向线性表中插入元素

①检查索引是否合法,查看是否在已有元素的范围之内

②判断线性表是否已满,满了就给出提示

③如果没满,则从最后一个元素遍历到第i个元素,将它们分别向后移动一位

④向空出的第i位元素插入元素element

⑤线性表的长度+1

线性表的顺序储存结构


通过索引删除线性表中的元素

①先判断索引是否在线性表的数据区域内

②取出被删除的元素,在最后的时候返回

③从删除元素后一位遍历到最后一个,分别向前移动一位

④线性表的长度减1

线性表的顺序储存结构


通过元素,获取到它的索引

这个是从后面先前面遍历

只要找到一个合适的元素

就返回它的索引(只有一个)

否则找不到的话就返回-1


通过元素来删除元素

①先从后向前遍历元素,得到相应的索引

②若得到的索引合法,则通过索引删除线性表中的元素


通过索引取出元素的值

①向判断索引是否在已有数据域(数组)内

②如果是,取出相应的位置的值


这个就不说了


下面测试一下这个顺序储存结构的线性表

输出为

线性表的顺序储存结构

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: