1 概述
这里假定矩阵 ( a i j ) n × m (a_{ij})_{n \times m} (aij)n×m下标从0开始,即 0 ⩽ i ⩽ n − 1 , 0 ⩽ j ⩽ m − 1 0 \leqslant i \leqslant n-1,0 \leqslant j \leqslant m-1 0⩽i⩽n−1,0⩽j⩽m−1。
2 用二维数组保存矩阵
使用 a [ i ] [ j ] a[i][j] a[i][j]保存 a i j a_{ij} aij,即可建立一一对应的关系。
3 用一维数组保存矩阵
对矩阵
(
a
i
j
)
n
×
m
(a_{ij})_{n \times m}
(aij)n×m从左至右,从上至下编号,每个元素
a
i
j
a_{ij}
aij的编号
i
n
d
e
x
=
i
∗
m
+
j
index=i*m+j
index=i∗m+j。
对于每个编号
i
n
d
e
x
index
index,令
i
=
i
n
d
e
x
/
m
,
j
=
i
n
d
e
x
%
m
i=index/m,j=index \% m
i=index/m,j=index%m,使得有唯一的元素
a
i
j
a_{ij}
aij与之对应。
综上,
a
i
j
a_{ij}
aij与
i
n
d
e
x
index
index之间存在双向映射,即可用一维数组
a
[
i
n
d
]
a[ind]
a[ind]保存元素
a
i
j
a_{ij}
aij。