线性表的存储结构
一;线性表作为一种基本的数据结构类型,在计算机存储器中的映像(或表示)一般有两种形式,一种是顺序映象,一种是链式映象。
二:线性表的顺序顺序存储结构:
1:若将线性表L=(a0,a1,-------an-1)中各元素依次存储于计算机一片连续的存储空间,这种机构表示为线性表的顺序存储结构,
地址 映射图 说明
b; a0; 每个元素占d个单元
b+d; a1; 假设loc(a1)a1的地址值
--- ---- Loc(a0)=b
b+i*d; ai Loc(a1)=b+1*d
------ ---- -----------
b+(n-1)*d an-1 Loc(an)=b+i*d
3:顺序存储结构的特点:
(1)逻辑上相邻的元素ai,ai+1.其存储位置也是相邻的
(2)对数据元素a 的存取为随机存取或按地址存取。
(3)存储密度高,存储密度D=(数据结构重元素所占的存储空间)/(整个数据元素所占的空间)
4:顺序存储结构的不足:
(1)对表的插入和删除等运算时间复杂度较为复杂
5:线性表的动态分配存储结构
#define LIST_INIT_SIZE 100 //线性表存储空间的初始分配量
#define LISTINCREMENT 10 //线性表的分配增量
typedef struct{
ElemType *elem; //存储空间基值
int length //当前长度
int listsize //当前分配的存储容量
}SqList;
转载:https://blog.csdn.net/qq_45712783/article/details/102300106
查看评论