数据结构--线性表
来源:互联网 发布:java url encode 编辑:程序博客网 时间:2024/06/03 14:13
线性表的表现形式:
零个或多个数据元素组成的集合。
数据元素在位置上是有序排列的。
数据元素的个数是有限的。
数据元素的类型必须相同。
我们可以抽象出来线性表的定义:
线性表是具有相同类型的n(n >= 0)个数据元素的有限序列,(a0,a1,a2,a3,a4,,,,,an-1),其中ai叫表项,即数据元素,n为表长。
线性表的存在有它独有的性质:
a0为线性表的第一个元素,只有一个后继元素。
an-1为线性表的最后一个元素,只有一个前驱元素。
所以除了首尾两个元素之外其它元素既有一个前驱也有一个后继。
线性表直接支持逐项访问和顺序存取。
线性表只是一个抽象的概念,那我们在程序中应该如何描述并使用一个线性表?
首先考虑一下线性表能干什么?
将元素插入线性表。
将元素从线性表删除。
获取目标位置处元素的值。
设置目标位置处元素的值。
获取线性表的长度。
清空线性表。
我们在程序中将线性表根据它的特点抽象出一个类:
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; };
其中Object类中实现了对new和delete,new[]和delete[]的重载,目的在于实现可移植性强。
使用泛型编程适用于各种类型。
总结:线性表在程序中表现为一种特殊的数据类型。
线性表是数据元素的有序并且有限的集合。
线性表中的数据元素必须是类型相同的。
线性表可用于描述排队关系的问题。
线性表在C++中表现为一个抽象类。
阅读全文
0 0
- 数据结构拾遗---线性表
- 整理--数据结构--线性表
- 数据结构(线性表)
- 整理--数据结构--线性表
- 数据结构--顺序线性表
- 数据结构之线性表
- 数据结构-线性链表
- 数据结构-线性表
- 复习 [数据结构] ---- 线性表
- 数据结构---线性表
- 数据结构复习-线性表
- 数据结构之线性表
- 数据结构之线性表
- 线性链表---数据结构
- 数据结构—线性表
- 数据结构 线性表
- 数据结构----线性表
- 数据结构之线性表
- 【考研】第十六周总结
- jq实现批量上传+裁剪功能
- 初学Android
- 机房总结二
- [黑科技]__gnu_cxx::rope STL中的可持久化数组
- 数据结构--线性表
- 跨浏览器的事件处理程序
- 高效分布式操作解决方案
- Python爬取新浪新闻
- 概率图模型理解
- MyEclipse、eclipse代码自动补全
- Excel在统计分析中的应用—第十章—方差分析-无重复双因素方差分析
- Android 无线真机调试
- 区块链技术的起源与发展演进