第十四课、线性表的本质和操作-----------------狄泰软件学院
一、线性表(List)的表现形式
1、零个或者多个数据元素组成的集合
2、数据元素在位置上是有序排列的
3、数据元素的个数是有限的
4、数据元素的类型必须相同
二、线性表(List)的抽象定义
1、线性表是具有相同类型的n(>=0)个数据元素的有限序列
{a0,a1,a2,....an-1}
ai是表项(数据元素),n是表长度
三、线性表(List)的性质
1、a0为线性表的第一个元素,只有一个后继
2、an-1为线性表的最后一个元素,只有一个前驱
3、除a0和an-1外的其它元素ai,既有前驱又有后继
4、直接支持逐项访问和顺序存取
四、线性表的常用操作
1、将元素插入线性表
2、将元素从线性表中删除
3、获取目标位置处元素的值
4、设置目标位置处元素的值
5、获取线性表的长度
6、清空线性表
五、线性表类的初步构建
#ifndef LIST_H #define LIST_H #include "Object.h" namespace DTLib { template <typename T> class List : public Object { public: virtual bool insert(int i, const T& e) = 0; virtual bool remove(int i) = 0; virtual bool set(int i, const T& e) = 0; virtual bool get(int i, T& e) const = 0; virtual int length() const = 0; virtual void clear() = 0; }; } #endif // LIST_H
都是纯虚函数,抽象类用来被继承的
六、小结
(1)、线性表是数据元素的有序并且有限的集合
(2)、线性表中的数据元素必须是类型相同的
(3)、线性表可用于描述排队关系的问题
(4)、线性表在程序中表现为一种特殊的数据类型
(5)、线性表在c++中表现为一个抽象类