一、顺序表的存储表示
1、顺序表(元素):地址连续、依次存放、随机存取、类型相同
数组(元素):地址连续、依次存放、随机存取、类型相同
由于顺序表和数组具有相同的性质,则可以用一维数组表示顺序表。
但线性表长可变(删除),则可以用一变量表示顺序表的长度属性。
2、模板一:常见的顺序表顺序存储结构的表示
#define LIST_INIT_SIZE 100 // 线性表存储空间的初始分配量
typedef struct {
ElemType elem[LIST INIT _SIZE]; //静态分配数组
(或者ElemType *elem; //动态分配数组)
int length; //当前长度
} SqList;
模板二:图书表的顺序存储结构的表示
#define MAXSIZE 10000
typedef struct
{
char no[20];
char name[50];
float price;
}Book;
typedef struct
{
Book *elem;
int length;
}SqList;
二、顺序表的特点
1)利用数据元素的存储位置表示线性表中相邻数据元素之间的前后关系,即线性表的逻辑结构与存储结构一致。
(2)在访问线性表时,可以快速地计算出任何一个数据元素的存储地址。因此可以粗略地认为,访问每个元素所花时间相等。
这种存取元素的方法被称为随机存取法。
三、顺序表示意图