一、线性表的本质和操作
程序员文章站
2022-03-25 16:10:48
1、线性表 线性表( )的表现形式 零个或多个数据元素组成的集合 数据元素在位置上是有序排列的 数据元素的个数是有限的 数据元素的类型必须相同 线性表的抽象定义: 线性表是具有相同类型的$n(\geq0)$ 个数据元素的有限序列 $$(a_0, a_1, ..., a_{n 1})$$ $a_i$是 ......
1、线性表
线性表(List
)的表现形式
- 零个或多个数据元素组成的集合
- 数据元素在位置上是有序排列的
- 数据元素的个数是有限的
- 数据元素的类型必须相同
线性表的抽象定义:
线性表是具有相同类型的\(n(\geq0)\) 个数据元素的有限序列
\[(a_0, a_1, ..., a_{n-1})\]
\(a_i\)是表项(数据元素), \(n\)是表长度
2、线性表的性质
- \(a_0\)为线性表的第一个元素,只有一个后继
- \(a_{n-1}\)为线性表的最后一个元素,只有一个前驱
- 除\(a_0\)和\(a_{n-1}\)外的其它元素\(a_i\),既有前驱,又有后继
- 直接支持逐项访问和顺序存取
3、线性表的程序实现
线性表的常用操作
- 将元素插入线性表
- 将元素从线性表中删除
- 获取目标位置处元素的值
- 设置目标位置处元素的值
- 获取线性表的长度
- 清空线性表
线性表在程序中的表现形式为一种特殊的数据类型
创建一个线性表抽象类模板
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; }
4、小结
线性表是数据元素的有序并且有限的集合
线性表的数据元素必须是类型相同的
线性表可用于描述排队关系的问题
线性表在程序中表现为一种特殊的数据类型
线性表在C++中表现为一个抽象类
下一篇: PHP7.27: object
推荐阅读
-
关于React处理input的方法和多个input共用一个方法(不用jQuery)
-
[C语言学习笔记五]复合语句和操作符的区分
-
Android学习笔记(Android Studio) 4-2-1~2 Fragment详解(一、二)(不可不会的Activity和Fragment)
-
对labelme标注的图片和json文件做resize操作
-
算法题:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。
-
一篇文章带你了解Python和Java的正则表达式对比
-
Android平台上图片/视频选择,编辑和压缩的一站式解决方案
-
CGI和servlet运行方式本质的区别是什么?PHP和Java在Web开发的原理有哪些本质不同?
-
在SQL 2012中使用和Oracle 一样的序列
-
postgresql查看表和索引的情况,判断是否膨胀的操作