当前位置:网站首页>顺序表有关操作

顺序表有关操作

2022-07-01 12:05:00 Between the steps

**

对于顺序表的有关操作

对于顺序表的有关操作

**
1、首先是顺序表的初始化(静态)

在初始化时,定义最大长度(和数组一样,不能扩展),还有当前存入数据实际长度,初始化将实际长度定义为0,后续插入值再递增,,

在这里插入图片描述

改进(动态分配)

如果内存不够的话,会进行扩充空间 ,将原来的内容复制过去

(红线指向顺序表当中的第一个数据元素)
在这里插入图片描述

从下图看 (扩充多少空间?)
定义指针p指向第一个数据位置,然后用L.data扩充空间,再复制过去,顺序表的最大长度更新

在这里插入图片描述

顺序表的插入操作------------------

我们在线性表的第i个位置插入元素e 返回更新线性表(&) ,思想就是后面整体后移,将e插入进去,

在这里插入图片描述

在这里插入图片描述
同时我们也要判断空间是否已经满了,,,或者没满插入的地方超过了最大长度也不可以!!!!!!
在这里插入图片描述

顺序表的删除操作-------------------

删除操作是将第i个的值扣掉 ,后面的元素前移 可以看到参数的(&)
我们先将删除的数据拿出来等待返回
删除和插入相反 是从前面拿掉后后面前移
在这里插入图片描述

在这里插入图片描述

顺序表的查找操作------------------

静态内存分配的查找只需返回return L.data[i-1] 即可 (注意第i个位序,数组是data[i-1])
(按位查找)
在这里插入图片描述
按值查找的话 通过传参e比较
通过遍历L.data[i]和e进行比较,相同返回位序
(按值查找)
在这里插入图片描述

原网站

版权声明
本文为[Between the steps]所创,转载请带上原文链接,感谢
https://blog.csdn.net/weixin_45924062/article/details/125403115