稀疏矩阵的两种表达方式
三元组
由行、列、值组成的三元组
十字链表
由行、列、值,和两个指向域,分别是down和right,分别指向两个方向,可以为空。
三元组存储时查找指定行号和列好元素值的算法,如下:
typedefineStruct{
int i,j;
ElemType e;
}Triple;
typedefineStruct{
Triple.data[MAXSINZE+1];
int mu,nu,tu;//行、列、非零元素;
}TSMatrix;
viod Find_TSM(TSMxtrix M,int m ,int n, ElemType &e)
{
for(i=1;i<=MAXSIZE;i++)
{
if(M.data[i].i==m&&M.data[i].j==n)
{
e=M.data[i].e;
break;
}
}
if(i>M.tu)
e=0;
}