线性表简称表,是n个具有相同类型的数据元素的有限序列。
线性表中数据元素的个数称为线性表的长度。长度为零时称为空表。
线性表中数据元素的类型是同一的。
线性表的顺序存储结构称为顺序表。
存储结构是数据及其逻辑结构在计算机中的表示;
存取结构是在一个数据结构上对查找操作的时间性能的一种描述。
随机存取结构:只要确定了存储顺序表的起始地址(即基地址),计算任意一个元素的存储地址的时间是相等的,具有这一特点的存储结构称为随机存取结构。
顺序表的类的声明
const int MaxSize=100;
template <class DataType> //模板类
class SeqList
{
public:
SeqList( ) ; //构造函数
SeqList(DataType a[ ],int n);
~SeqList( ) ; //析构函数
int Length( );
DataType Get(int i);
int Locate(DataType x );
void Insert(int i,DataType x);
DataType Delete(inti);
private:
DataType data[MaxSize];
int length;
};
无参构造函数
SeqList<DataType> ::SeqList( )
{
length = 0;
}
有参构造函数
template <class DataType>
SeqList<DataType> ::SeqList(DataTypea[ ], int n)
{
if (n > MaxSize)throw "参数非法";
for (i = 0; i < n;i+ +)
data[i] = a[i];
length = n;
}
插入
template <class DataType>
void SeqList<DataType>::Insert(int i, DataType x)
{
if (length >= MaxSize)throw "上溢";
if (i < 1 || i >length + 1) throw "位置";
for (j = length; j >=i; j--)
data[j] = data[j-1];
data[i-1] = x;
length+&