数组和广义表可以看成是线性表的一个扩展,表中的数据元素本身也是一个数据结构。
1、数组的定义
数组的所有元素都必须属于同一数据类型。数组中的每个数据元素都对应于一组下标(j1,j2,,jn),每个下标的取值范围是 0 ji bi - 1,bi称为第 i 维的长度(i = 1,2,,n)。显然,当 n = 1 时,n 维数组退化为定长的线性表。反之,n 维数组也可以看成是线性表的推广。
我们可以把二维数组看成是一个定长的线性表:它的每个数据元素也是一个定长的线性表。
数组一旦被定义,它的维数和维界就不再改变。
2、数组的顺序表示和实现
由于数组一般不作插入或删除操作,一旦建立了数组,则结构中的数据元素个数和元素之间的关系就不再发生变化。因此,采用顺序存储结构表示数组是自然的事。
由于存储单元是一维的结构,而数组是多维的结构,则用一组连续存储单元存放数组的数据元素就有个次序约定问题。对二维数组可有两种存储方式:一种以列序为主序(column major order)的存储方式,一种是以行序为主序(row major order)的存储方式。
End
扫描二维码关注公众号,回复:
8652470 查看本文章