一、数据结构_线性表的本质和操作

1、线性表

线性表(List)的表现形式

  • 零个或多个数据元素组成的集合
  • 数据元素在位置上是有序排列的
  • 数据元素的个数是有限的
  • 数据元素的类型必须相同

线性表的抽象定义:

线性表是具有相同类型的n(\geq0) 个数据元素的有限序列

(a_0, a_1, ..., a_{n-1})

a_i是表项(数据元素), n是表长度

2、线性表的性质

  • a_0为线性表的第一个元素,只有一个后继
  • a_{n-1}为线性表的最后一个元素,只有一个前驱
  • a_0a_{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++中表现为一个抽象类

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 转自:http://blog.csdn.net/oreo_go/article/details/52116214 ...
    YYT1992阅读 4,827评论 0 4
  • 数据结构与算法-目录 1、线性表的定义:有零个或多个数据元素组成的有序数列。 线性表是一种常用的数据结构。在实际应...
    香沙小熊阅读 7,568评论 0 6
  • 一些概念 数据结构就是研究数据的逻辑结构和物理结构以及它们之间相互关系,并对这种结构定义相应的运算,而且确保经过这...
    Winterfell_Z阅读 11,392评论 0 13
  • “镜像知觉” 指如果你讨厌别人,那么TA一定不会喜欢你,这背后的自我证明。注明心理学家津巴多认为,误解将这个世界一...
    铃樱sly阅读 1,033评论 0 0
  • 写在清华自主培训开学典礼 很幸运,能在清华大学的校园和你们相识! 自主择业——顾名思义,我们为自己的人生选择了一条...
    你好中年阅读 1,501评论 0 0