对角矩阵压缩为一维数组
对角矩阵是一个除主对角线及其两边以外的所有元素皆为0的矩阵。
今天主要讲的是如何将对角矩阵压缩储存在一个一维数组里面。
首先一个对角矩阵的有效元素个数为:2+2+3*(n-2)=3n-2。
假设原矩阵行为i,列为j,都从1开始,压缩数组下标从1开始储存
则一维数组a[k]与i,j的关系为i=k/3+1;
j=k-2*i+2=2。
部分源代码:
int i,j,k;
int a[100];
int b[10][10];
int n,sum;
sum=3*n-2;
for (k=1;k<=sum;k++)
{
i=k/3+1;
j=k-2*i+2;
a[k]=b[i][j];
}

浙公网安备 33010602011771号