线性表的存储结构分为:顺序存储结构 链式存储结构
顺序存储结构的表现和实现
线性表的顺序表示又称为顺序存储结构或顺序映像
顺序存储的定义:把逻辑上相邻的数据元素存储在物理意义上相邻的单元中
线性表顺序存储结构占用一篇连续的存储空间,知道一个元素位置可推算其他所以元素的位置
任意元素均可随机存取(优点)
PS:线性表第一个位置成为基地址或起始位置
顺序表(元素)有:地址连续,依次存放,随机存取,类型相同 四大特点
关于他的表示大家可以联想到 C语言中的数组也有相同的特点,所以我们用一维数组来表示顺序表
虽然他们有相同的特性但也有所不同:
①线性表的长度可变(删除)
②数组的长度不可动态定义
有了以上的知识我给大家一个定义线性表的模板
------------------------------------------------------------------------------------------------------------------------------------------
分 割 线
在定义线性表时可以套用此模板
#define LISTWITSIZE 100 //线性表存储空间的长度属性
typedf struct{
ElemType elem[LIST-WIT-SIZE] //定义一组数组
int length; //当前长度
}SqList;
定义length 用来存储线性表内元素的个数
在这里举一个例子
对于解决这个问题我们只需要把他的系数和指数放入当存储空间当中就可以
我们试着套用上面的公式
#define LISTWITSIZE 1000 //多项式可能达到的最大长度
typedf struct{ //多项式非零项的定义
float p; //系数
int e; //指数
}Polynomial; //线性表的类型
typedf struct{
ElemType date[];
int length;
}SqList;