知识回顾
第一节课2.1线性表的定义和特点
定义
线性表是具有相同特性的数据元素的一个有限序列
- 线性表
线性关系:每个记录都至少有一个前趋和一个后继(第一个没有前趋,最后一个没有后继)
一对一的线性关系
例子
#### 线性表的逻辑特征
线性表是最基本的,最常用的基本线性结构
第二节课2.2案例引入
案例
第三节课2.3线性表的类型定义
抽象数据类型list(线性表)定义:
基本操作
- InitList(&L)
- DestroyList(&L)
- ClearList(&L)
- ListEmpty(L)
- Listlength(L)
- GetElem(L,i,&e)
- LocateElem(L,e,compare());
- PriorElem(L,cur_e,&pre_e)
- NextElem(L,cur_e,&next_e)
- ListInsert(&L,i,e)
- ListDelete(&L,i&e);
- ListTraverse(&L,visited());
- 以上所提及的运算是逻辑上定义的运算。只要给出这些运算的功能时“做什么”,至于“如何做”等实现细节,只有等确定了储存结构之后才考虑。
- 后续课程中将学习线性表的储存及在储存结构上个操作的实现
- 2.4线性表的顺序表示和实现
- 2.5线性表的链式表示和实现
第四节课2.4线性表的顺序表示和实现
顺序结构
- 线性表在电脑的储存方式有两种,一种是顺序储存结构另外一种是链式储存结构
线性表的顺序表示又称为顺序存储结构或顺序映像
简单而言:逻辑上相邻,物理上也相邻
顺序表中元素储存位置的计算
2.4.1顺序表的顺序储存的表示
数组的长度不可动态定义
线性表长度可变(删除、增加)
模板
多项式:
图书管理
定义模板