2.2线性表的顺序存储 线性表的顺序存储结构 线性表顺序存储结构上的基本运算
2.2 线性表的顺序存储 • 线性表的顺序存储结构 • 线性表顺序存储结构上的基本运算
2.2.1线性表的顺序存储结构 定义:用一组地址连续的存储单元依次存储 线性表中的各个元素。 顺序表 存储结构:数组。 特点:线性表的顺序存储方式。 存取方式:顺序存取 012345 458990674078 内存中连续分布相同大小 的存储单元,依靠存储位 顺序存储结构示意图 置的物理相邻来体现线性 表元素的逻辑关系
2.2.1 线性表的顺序存储结构 定义:用一组地址连续的存储单元依次存储 线性表中的各个元素。 存储结构:数组。 特点:线性表的顺序存储方式。 存取方式:顺序存取 45 89 90 67 40 78 0 1 2 3 4 5 顺序存储结构示意图 内存中连续分布相同大小 的存储单元,依靠存储位 置的物理相邻来体现线性 表元素的逻辑关系 顺序表
顺序表的存储方式: LOC(a1)=LOC(a1)+1为每个元素所占 存储空间大小 LOC(a =loC(a,+(i-1)*L 2 ●●● ●。● ●●● ●。●● a, a aa+ a+(i-1) a+(m-1)“ille
顺序表的存储方式: LOC(a i+1) = LOC( a i ) + l LOC(a i ) = LOC(a1 ) + (i-1) * l a1 a2 … a i … … … an 1 2 … i … … … n a a+l … a+(i-1)*l … … … a+(n-1)*l idle l 为每个元素所占 存储空间大小
顺序表( Seqlist)的类型定义 # define maXsize100/最大允许长度 typedef int Elem Type typedef struct t Elem Type elem [ MAXSIZE;存储空间 int last;∥/记录线性表中最后一个元素在数组 /elem中的位置(下标值),空表置为1 ISeqlist
顺序表(SeqList)的类型定义 #define MAXSIZE 100 //最大允许长度 typedef int ElemType; typedef struct { ElemType elem[MAXSIZE]; //存储空间 int last; //记录线性表中最后一个元素在数组 //elem[]中的位置(下标值),空表置为-1 }SeqList;
2.22线性衰顺序存储结构上的基本运算 初始化 查找 插入 删除 求长度
2.2.2 线性表顺序存储结构上的基本运算 • 初始化 • 查找 • 插入 • 删除 • 求长度