2.2 线性表的顺序表示
2.2.1 顺序表的定义
一、顺序表的基本概念
线性表的顺序存储又称顺序表。
它是用一组地址连续的存储单元依次存储线性表中的数据元素,从而使得逻辑上相邻的连个元素在物理上也相邻。
第1个元素存储在顺序表的起始位置,第i个元素存储位置后面紧接着存储的是第i+1个元素,称i为元素aᵢ在顺序表中的位序。
顺序表的特点:表中元素的逻辑顺序与其存储的物理顺序相同;
假设顺序表L存储的起始位置为LOC(A),sizeof(ElemType)是每个数据元素所占用存储空间的大小,则表L所对应的顺序存储入如下图。
观察上面的图片可知,每个数据元素的存储位置都和顺序表的起始位置相差一个和该数据元素的位序成正比的常数。
顺序表中的任意一个数据元素都可以随机存取,所以线性表的顺序存储结构是一种随机存取的存储结构。
注意:线性表中元素的位序是从1开始的,而数组中元素的下标是从0开始的。
二、顺序表的初始化定义(C语言)
假定线性表的元素类型为ElemType,则静态分配的顺序表存储结构描述为