顺序表的定义和特点
顺序表的定义是:把线性表中所有表项按照其逻辑顺序依次存储到从计算机存储中指定存储位置开始的一块连续的存储空间中。这样,线性表中第一个表项的存储位置就是被指定的存储位置,第i个表项(2 ≤ i ≤ n)的存储位置紧接在第i - 1个表项的存储位置的后面。假设顺序表中每个表项的数据类型为T,则每个表项所占用存储空间的大小相同,均为sizeof(T),整个顺序表所占用存储空间的大小为n × sizeof(T),其中n表示线性表的长度。
顺序表的特点是:
1. 在顺序表中,各个表项的逻辑顺序与其存放的物理顺序一致,即第i个表项存储于第i个物理位置(1 ≤ i ≤ n)。
2. 对顺序表中所有表项,既可以进行顺序访问,也可以进行随机访问。也就是说,既可以从表的第一个表项开始逐个访问表项,也可以按照表项的序号(下标)直接访问表项。
顺序表可以用C语言的一维数组来实现,C语言的一维数组可以是静态分配的,也可以是动态分配的。假设顺序表A的起始存储位置为Loc(1),第i个表项的存储位置为Loc(i),则有:Loc(i) = Loc(1) + (i - 1) × sizeof(T),其中Loc(1)是第一个表项的存储位置,即数组