}
第五章知识点
P75 ·多维数组的存储结构
LOC(a00)是a00的内存地址,d是每个元素占的字节,i是每行,i*n+j是表示aij前面有多少个元素。
·地址计算 (1)行优先:LOC(aij)=LOC(a00)+(i*n+j)*d (2)列优先:LOC(aij)= LOC(a00)+(j*m+i)*d
例题:⑵ 二维数组A中行下标从10到20,列下标从5到10,按行优先存储,每个元素占4个存储单元,A[10][5]的存储地址是1000,则元素A[15][10]的存储地址是( )。 【解答】1140
【分析】数组A中每行共有n=6个元素,元素A[15][10]的前面共存储了(15-10)×6+5个元素,每个元素占4个存储单元,所以,其存储地址是1000+((15-10)×6+5)*4=1140。
⑸ 广义表((a), (((b),c)),(d))的长度是(),深度是(),表头是(),表尾是()。
【解答】3,4,(a),((((b),c)),(d))
加深习题:
1.广义表(((a)))的表头是______,表尾是____________。 2、广义表((a),((b), c), (((d))))的表头是______,表尾是____________。 3、广义表((a), ((b), c), (((d))))的长度是______,深度是____________。 4、广义表(a, (a, b), d, e, ((i, j), k))的长度是______,深度是____________。 5、设HEAD[p]为求广义表p的表头函数,TAIL[p]为求广义表p的表尾函数,
其中[]是函数的符号,给出下列广义表的运算结果: HEAD[(a, b, c)]的结果是_________。 TAIL[(a, b, c)]的结果是_________。 HEAD[((a), (b))]的结果是_________。 TAIL[((a), (b))]的结果是_________。
HEAD[TAIL[(a, b, c)]]的结果是_________。 TAIL[HEAD((a, b), (c, d))]的结果是_________。 HEAD[HEAD[(a, b), (c, d)]]的结果是_________。 TAIL[TAIL[(a, (c, d))]]的结果是_________。
答:1、(1)((a)) (2) ( )
2、(1)(a) (2) (((b),c),(((d)))) 3、(1)3 (2) 4 4、(1)5 (2) 3
5、(1) a (2) (b,c) (3) (a) (4) ((b)) (5) b (6) (b) (7) a (8) ( )
重点题目: P97 5-11
相关推荐: