数组的特点 1.数组中的数据元素数据固定。一旦定义了 个数组,其数据元素数目不再有增减的变化 2.数组中的数据元素具有相同的数据类型。 3.数组中的每个数据元素都和一组惟一的下标 值对应。 4.数组是一种随机存储结构。可随机存取数组 海中的任意数据元素。 6
6 1. 数组中的数据元素数据固定。一旦定义了一 个数组,其数据元素数目不再有增减的变化。 2. 数组中的数据元素具有相同的数据类型。 3. 数组中的每个数据元素都和一组惟一的下标 值对应。 4. 数组是一种随机存储结构。可随机存取数组 中的任意数据元素。 数组的特点:
数组的基本运算 1.给定下标,存取相应的数据元素。 2.给定下标,修改相应的数据元素。 对于不作删除和插入操 作的数据,应该采用哪种 类型的物理结构呢? 7
7 1. 给定下标,存取相应的数据元素。 2. 给定下标,修改相应的数据元素。 数组的基本运算: 对于不作删除和插入操 作的数据,应该采用哪种 类型的物理结构呢?
数组的存李储:(采用顺序存储结构 一维数组:An=(a1a2 Loc(ai=Loc(a+(i-1)*k 其中:Loc(a1)是a1的存储地址 表示每个数据元素占用的存储单元 多维数组:Amxn 计算机内存:一维结构 数组结构:多维结构 次序约定 以伤序为主序的存方式 以列房为主序的存储方式
8 计算机内存:一维结构 数组结构:多维结构 次序约定 以行序为主序的存储方式 以列序为主序的存储方式 数组的存储:(采用顺序存储结构) 一维数组:An=(a1 a2 … ai … an ) Loc(ai )=Loc(a1 )+ (i-1)*k 其中: Loc(a1 )是a1的存储地址 k表示每个数据元素占用的存储单元 多维数组:Amⅹn
K 以行序为主序存放 a01 n a 0,n-1 a 10 00a01…a0n 12 10 a 11 a 1,n-1 a 1,n-1 am-1,0am1,1 m-1,n-1 n-1.0 m-1,1 Loc( aii=Loc(aoo)+(i*n+j)K mn a m-1,n-1 9
9 a00 a01 …….. a0,n-1 a10 a11 …….. a1,n-1 am-1,0 am-1,1 … am-1,n-1 …………………. 以行序为主序存放 am-1,n-1 …….. am-1,1 am-1,0 ………. a1,n-1 …….. a12 a10 a0,n-1 ……. a01 0 a00 1 n-1 m*n-1 n K Loc( aij)=Loc(a00)+(i*n+j)*K
以列序为主序存放 10 am-1,0 01 0,n-1 11 a 10 a ll···· a 1,n-1 m-1,0am-1,1··am-1,n-1 a0,n-1 Loc(ai=Loc(aoo)+( m+i)K a 1,n-1 mn a m-1,n-1 10
10 以列序为主序存放 0 1 m-1 m*n-1 m am-1,n-1 …….. a1,n-1 a0,n-1 ………. am-1,1 …….. a11 a01 am-1,0 ……. a10 a00 a00 a01 …….. a0,n-1 a10 a11 …….. a1,n-1 am-1,0 am-1,1 ……am-1,n-1 …………………… Loc(aij)=Loc(a00)+ (j*m+i)*K K