数据结构第4章广义线性表数组与广义表.ppt

数据结构第4章广义线性表数组与广义表

类似于线性表,一个二维数组的逻辑结构可定义为: 2_Array =(D,R) 其中D={aij|i=c1,c1+1,…,d1,j=c2,c2+1,…,d2,aij∈D0} R={ROW,COL} ROW={ aij,ai,j+1|c1≤i≤d1,c2≤j≤d2-1,aij,ai,j+1∈D0} COL={aij,ai+1,j|c1≤i≤d1-1,c2≤j≤d2, aij,ai+1,j∈D0} D0为某个数据对象,c1,c2,d1,d2均为整数。 通常取c1= c2=0。二维数组中含有(d1-c1+1)*(d2-c2+1)个数据元素,每一个数据元素ai,j均受到行关系ROW和列关系COL的制约:ai,j+1 称为ai,j在行关系ROW下的直接后继,而ai+1,j 则称为ai,j在列关系COL下的直接后继。与线性表一样,二维数组中所有的元素都必须属于同一数据类型, 且数组的每个元素都对应着一组下标(i,j)。 例5.1 对二维数组float a[10][8];计算 数组a中的元素数目; 若数组a的起始地址为1000,且每个数组元素长度为32位(即4个字节),数组元素a[6][4]的内存地址。 解:(1) 由于C语言中数组的行、列下界均为0,该数组行上界为10-1=9,列上界为8-1=7,所以该数组共有10*8=80个

文档评论(0)

1亿VIP精品文档

相关文档