数组
大约 2 分钟
未完成
本页面内容有待补充。
定义
- 数组,是由相同类型的元素的集合所组成的数据结构,
- 数组可以是多维的,多维数组可以看成是线性表的推广。
- 数组一旦被定义,维数和维界就不再改变。因此对于一个初始化完成的数组,允许的操作只有存取元素,修改元素和摧毁整个数组。
表示
由于数组的元素个数和关系在初始化后固定,因此使用顺序存储结构。
一维数组的存放毫无疑问,而多维数组存储时就需要将数组“展开”。以二维数组为例,一个行列的二维数组有两种存储方式,其区别为主序的选择。以列序为主序,意味着先存储列上的元素,,反之为行序作为主序,即。在C语言中,使用的是行序为主序的存储结构。
确定了数组的维数和各个维的长度,就可以分配空间。反之,给出一组下标,就可以得到对应数组元素的存储位置。
因此一个二维数组中的数据元素的存储位置如下所示,其中即基址, 是第二维的长度:
推广到n维数组:
其中在数组各维的长度确认后确定不变。数组元素的存储位置是其下标的线性函数。
代码实现: