数据结构_线性表的本质和操做

一、线性表

线性表(List)的表现形式c++

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

线性表的抽象定义:code

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

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

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

二、线性表的性质

  • $a_0$为线性表的第一个元素,只有一个后继
  • $a_{n-1}$为线性表的最后一个元素,只有一个前驱
  • 除$a_0$和$a_{n-1}$外的其它元素$a_i$,既有前驱,又有后继
  • 直接支持逐项访问和顺序存取

三、线性表的程序实现

线性表的经常使用操做class

  • 将元素插入线性表
  • 将元素从线性表中删除
  • 获取目标位置处元素的值
  • 设置目标位置处元素的值
  • 获取线性表的长度
  • 清空线性表

线性表在程序中的表现形式为一种特殊的数据类型List

建立一个类模板数据类型

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;
}

四、小结

线性表是数据元素的有序而且有限的集合

线性表的数据元素必须是类型相同的程序

线性表可用于描述排队关系的问题数据

线性表在程序中表现为一种特殊的数据类型

线性表在C++中表现为一个抽象类

相关文章
相关标签/搜索