线性表(List)的表现形式:
--
零个或多个数据元素组成的集合
--数据元素在位置排列上是
有序的
--数据元素的个数是
有限的
--
数据类型必须相同
线性表(List)的抽象定义:
--线性表是具有
相同类型的n(n >= 0)个
数据元素的有限集合。
--
(a
0, a1, a2, ... an-1)
--其中
a
i是表项
,
n是线性表长度。
线性表(List)的性质:
--a
0为首结点,即第一个元素,只有一个后继结点,没有前驱结点
--a
n-1为尾结点,即最后一个元素,只有一个前驱结点,没有后继结点
--除首结点和尾结点外的其他结点既有前驱结点也有后继结点
--支持直接访问和顺序存取
线性表(List)的常用操作:
--将元素插入线性表
--将元素从线性表删除
--获取目标位置的元素值
--设置目标位置处元素的值
--获取线性表的长度
--清空线性表
线性表(List)在数据结构中表现为一种抽象数据类型:
#ifndef LIST_H #define LIST_H #include "Object.h" namespace CorlinLib { template <T> class List : public Object { virtual void insert(int pos, const T& val) = 0; virtual void remove(int pos) = 0; virtual bool setValue(int pos, const T& val) = 0; virtual bool getValue(int pos, T& val) = 0; virtual int length() const = 0; virtual void clear(); }; } #endif // LIST_H
总结:
线性表是数据元素
有序且有限的集合
线性表的数据元素必须是
类型相同的
线性表可以用于
描述对列关系的问题
线性表在程序中表现为
一种特殊的数据类型
线性表在C++中表现为一个抽象类