发布了33 篇原创文章 · 获赞 2 · 访问量 2万+
发布了33 篇原创文章 · 获赞 2 · 访问量 2万+
建立动态数组分成两部分:数據elem和线性表的长度length,elem与initsize为数据的捆绑
//初始化:1.给动态数组分配空间 2.线性表清空length=0;
L.length++;//每次赋值后线性表的有效长度加一//线性表中查找特定元素
// //L存在是否有插入的空间 //if(L){???他不是链表没有为空的时候 //从后面向前遍历,找到第i-1个位置后后面的元素都向后移 //第i个元素,数组下标为i-1 //线性表有效长度加一 //i-1后的每一个元素都往前移
输入1 2 3 4后运行结果如下图:
本章主要是对线性表的顺序存储結构进行总结(借助了《大话数据结构这本书》,对于跨专业进入IT的建议可以看看这本书)
在开篇首先介绍一些简单的概念
一 什么是線性表(List)?
零个或多个数据元素的有限序列
二 线性表从存储结构上可以分为那两种?
三 什么是线性表的顺序存储结构
用一段地址连续的存储单元依次存储线性表的数据元素。
线性表的顺序存储示意图:
对于顺序存储结构可以比较自然的想到数组是的,数组就是一种典型嘚顺序存储结构
四 顺序存储结构的插入
在这里我们可以用一个数组[a0,a1,a2,a3.....,ai,.....an]来模拟一个顺序存储结构,那么倘若一个元素m要插入到数组元素ai的位置,那么首先ai及以后的所有元素都要向后挪动一个位置,最后m这个元素才能插入到ai的位置
而对于插入操作,不难看出待删除元素去掉以后之后的元素依次向前挪动一个位置。
五 线性表顺序存储结构插入和删除的java实现