数组的基本概念
数组是一个二元组(idx,value)的集合,对每个idx,都有一个value值与之对应。idx称为下标,可以由一个整数、两个整数或多个整数构成,下标含有d(d≥1)个整数称为维数是d。
数组按维数分为一维、二维和多维数组。
一维数组A是n(n>1)个相同类型元素a0,a1,…,an-1构成的有限序列,其逻辑表示为A=(a0,a1,…,an-1),其中,A是数组名,ai(0≤i≤n-1)是数组A中序号为i的元素。
一个二维数组可以看作是每个数据元素都是相同类型的一维数组的一维数组。
以此类推
数组具有以下特点
(1)数组中各元素都具有统一的数据类型。
(2)d(d≥1)维数组中的非边界元素具有d个前驱元素和d个后继元素。
(3)数组维数确定后,数据元素个数和元素之间的关系不再发生改变,特别适合于顺序存储。
(4)每个有意义的下标都存在一个与其相对应的数组元素值。
d维数组抽象数据类型
数组的主要操作是存取元素值,没有插入和删除操作,所以数组通常采用顺序存储方式来实现。
一维数组
一维数组的所有元素依逻辑次序存放在一片连续的内存存储单元中。
其起始地址为第一个元素a0的地址即LOC(a0)。
假设每个数据元素占用k个存储单元。
则任一数据元素ai的存储地址LOC(ai)就可由以下公式求出
d维数组
以m行n列的二维数组Am×n=(