单选题
设有一个10×10的堆成矩阵A[10][10],采取按行压缩存储的方式存放于一个一维数组B[ ]中,则数组B[ ]的容量应为______。若设A[0][0]存放于B[0],且数组A[ ][ ]的每一个数组元素在数组B[ ]中占一个数组元素位置,若按照下三角方式压缩仔放,A[8][5]在数组B[ ]中的位置是______;按照上i角方式压缩存放,A[8][5]在数组B( )中的位置是______。
【正确答案】
C
【答案解析】[解析] 数组B共应有1+2+…+10=55个元素。若按照下三角形式存储,A[8][5]正好在B[]中,
LOC(8,5)=(i+1)×i/2+j=(8+1)×8/2+5=41。
若按照上三角形式存储,A[8][5]不在B[]中,找其对称元素A[5][8]的存储位置:
LOC(5,8)=(2n-i-1)×i/2+j=(2×10-5-1)×5/2+8=43。