shuhns线性表的主要操作特点是可以在任意位置插入和删除一个元素,顺序表和链表优缺点正好相反。
线性结构的特点是除第一个和最后一个元素外,每个元素只能有一个前驱元素和一个后继元素,线性表是最简单的线性结构
重复:没有实际含义的元素称作抽象元素。
在设计中遇到抽象元素,用符号DataType表示该抽象元素的数据类型;当软件设计具体问题确定时,抽象元素的数据类型将被具体的数据类型取代
//当软件设计中要求的线性表的元素类型为int和char类型时,需要重新定义抽象元素的数据类型为int和char类型来具体确定该抽象元素的数据类型,c语言如
typedef int DataType;
typedef char DataType;
线性表的顺序表示和实现
顺序存储结构使用数组存储元素!!!数组把线性表的元素存储在一块连续地址空间的内存单元中,这样,线性表中的逻辑上相邻的元素在物理存储地址上也相邻。元素间的逻辑上的前驱、后继逻辑关系就i表现在元素所处内存单元的物理前后位置关系上。
数组分为静态数组和动态数组,静态数组存储空间和释放由系统自动完成 ,动态数组存储空间的申请和释放由用户通过调用系统函数自己完成。 不论使用静态还是动态数组,其功能都是向系统申请一块地址连续的有限空间,只是申请方式不同。
C描述顺序表的操作
//c语言描述
//定义结构体SeqLish
typedef struct{
DataType list[MaxSize];
int size;
}SeqList;
// size表示顺序表中当前存储的数组元素 MaxSize表示数组元素最大存储个数 必须满足size<=MaxSize; DataType 表示数组元素的数据类型;