1.数组的概念和存储:
1.1.基本概念:
1.可以将数组看成是线性表的推广。
1.2.数组的性质:
1.数组元素固定;
2.数组中每个元素数据类型相同;
3.数组中每个元素都有唯一的下标与之对应;
4.数组是一种随机存储结构;
1.3.数组的存储结构:
1.对于一个一维数组,每个数据占用k个存储单元,第一个数组元素a0的地址Loc(
a
0)确定,则一维数组中任一数组元素ai的存储地址Loc(
a
i)为:Loc(
a
i)=Loc(
a
0)+i*k;
2.对于一个二维数组,也可以降至一维数组进行操作,有以主序为行的和以列为主序的两种存储方式,假设有m行n列的二维数组,则计算存储地址的方式对应如下:
①以行为主序,即行先变化:Loc(ai,j)=Loc((a0,0)+(i*n+j)*k;
②以列为主序,即列先变化:Loc(ai,j)=Loc((a0,0)+(j*m+i)*k;
以上两式均是以行列下标为0开始,若以c1、c2
分别表示行、列的下界,
d1、d2
分别表示行、列的上界
,
则有以下关系:
④以行为主序,即行先变化:Loc(ai,j)=Loc((