矩阵的表示方法
矩阵在数据结构中常用二维数组(int A[m][n],m为列的元素个数,n为行的元素个数)表示,这也是最简单的表示方法。
然而当矩阵中含有大量0元素时,也称为稀疏矩阵,这样的表示方法会浪费大量的存储空间,为了节省存储单元,最好只存非零元素。常用的存储稀疏矩阵的方法有顺序存储和链式存储两种,这里只介绍顺序存储。
稀疏矩阵的顺序存储方法也被称为三元组表示法,数据结构如下:
typedef struct ele
{
int x; //行坐标
int y; //列坐标
int val; //值
}ele;
typedef struct T
{
int mu; //行的元素个数
int nu; //列的元素个数
int tu; //元素的总个数
ele elem[maxSize];
}T;
除了结构体的定义,总的来说就是用一个数组来记录非零元素的信息。
矩阵的转置
对于普通的矩阵来说,矩阵转置很简单,比如要将A[nu][mu]转置成B[mu][nu]。只需要两个for循环,代码如下:
for(i=0;i