线性表的特征:
1. 第一个数据元素没有前驱,这个数据元素被称为头结点;
2. 最后一个数据元素没有后继,这个数据元素被称为尾结点;
3. 除了第一个和最后一个数据元素外,其他数据元素有且仅有一个前驱和一个后继。
如果把线性表用数学语言来定义,则可以表示为(a1,...ai-1,ai,ai+1,...an),ai-1领先于ai, ai领先于ai+1,称ai-1是ai的前驱元素,ai+1是ai的后继元素。
线性表的分类:
线性表中数据存储的方式可以是顺序存储,也可以是链式存储,按照数据的存储方式不同,可以把线性表分为顺序表和链表。
线性表的储存结构:
1.顺序存储:逻辑上相邻的结点存储在物理位置上相邻的存储单元里,结点间的逻辑关系由存储单元的邻接关系来体现.借助于语言的数组来实现。
2.链式存储:不要求逻辑上相邻的结点物理上也相邻,结点间的逻辑关系是由附加的指针字段表示的,在java中使用“对象引用”来实现指针。
顺序储存结构:
根据存储结构不同,线性表分为顺序表和链表2大类。
以顺序存储结构进行存储的线性表称为顺序表。
顺序表存储结构采用顺序存储方式,逻辑上相邻的元素物理存储位置也相邻,元素存储都是连续的。由这种结构特点可知,顺序表可以随机访问快速定位某个元素,查找效率高,但删除和插入元素时,需要移动大量元素,效率低。
实现顺序表往往用到一维数组,并使用变量记录实际元素个数即顺序表的长度。
做一个练习:
假设你正在开发一个简单的学生管理系统,使用顺序表(SequenceList)来存储学生姓名。请完成以下任务:
1、创建一个可以存储字符串的顺序表,初始容量为10
2、添加以下学生姓名到顺序表中:“张三”, “李四”, “王五”,“赵六”。
3、在“李四”后面插入“李四”(注意:需要先找到“李四”的位置)
4、删除“李四”并从顺序表中移除
5、查找“李四”在顺序表中的位置(索引)
6、打印最终顺序表中的所有学生姓名
7、清空顺序表并验证它确实为空

1034

被折叠的 条评论
为什么被折叠?



