稀疏矩阵压缩存储的三元组表示法
2017-05-16 11:21
323 查看
/*稀疏矩阵压缩存储的三元组表示法*/ #include<stdio.h> typedef struct node { int i; /*元素所在行号*/ int j; /*元素所在列号*/ int x; /*元素值*/ }NODE; typedef struct spmatrix { int mu; /*行数*/ int nu; /*列数*/ int tu; /*元素个数*/ NODE data[5]; }SpMatrixTp; /*二维矩阵转换为三元组*/ Spmatrix(int x[5][6],SpMatrixTp *a) { int i,j,q=0; for(i=0;i<5;i++) for(j=0;j<6;j++) if(x[i][j]!=0) { q++; (*a).data[q].i=i; (*a).data[q].j=j; (*a).data[q].x=x[i][j]; } (*a).mu=i; (*a).nu=j; (*a).tu=q; } main() { SpMatrixTp a; int A[5][6]={0},i,j; A[0][1]=5; A[2][1]=1; A[2][3]=7; A[3][1]=6; A[4][4]=9; printf("----原稀疏矩阵----\n"); for(i=0;i<5;i++) for(j=0;j<6;j++) { printf("%3d",A[i][j]); if(j==5) printf("\n"); } Spmatrix(A,&a); printf("----压缩存储的三元组----\n"); for(i=1;i<=a.tu;i++) printf("%d %d %d\n",a.data[i].i,a.data[i].j,a.data[i].x); }
相关文章推荐
- 矩阵的压缩存储(稀疏矩阵的十字链表存储、稀疏矩阵的三元组行逻辑链接的顺序表存储表示、稀疏矩阵的三元组顺序表存储表示)
- 稀疏矩阵的三元组表示的实现及应用(2)——采用三元组存储稀疏矩阵,设计两个稀疏矩阵相加的运算算法
- 数据结构C语言实现稀疏矩阵的压缩和运算的三元组顺序表表示法
- 稀疏矩阵--三元组表来压缩存储及转置
- 稀疏矩阵三元组方式压缩存储 c++模板类实现
- 三元组实现稀疏矩阵的压缩存储与转置 (Sparse matrix compression storage and transposition base on triple)
- 稀疏矩阵的三元组顺序表存储表示及基本操作
- 三元组表压缩存储稀疏矩阵实现稀疏矩阵的快速转置(Java语言描述)
- 三元组顺序表存储表示随机稀疏矩阵
- 稀疏矩阵的压缩存储与快速转置 三元组法 类与对象实现
- 三元组表压缩存储稀疏矩阵实现稀疏矩阵的快速转置(Java语言描述)
- 三元组压缩存储稀疏矩阵的C++类模板实现
- 矩阵的压缩存储————用三元组表存储稀疏矩阵
- 数组与广义表_稀疏矩阵的压缩存储_三元组做存储结构_矩阵转置
- 数组与广义表_稀疏矩阵的压缩存储_三元组做存储结构_矩阵相乘
- 【数据结构】稀疏矩阵的压缩存储和转置算法(C++代码)
- 第9周项目3-(1)稀疏矩阵的三元组表示的实现及应用
- 第9周实践项目3-稀疏矩阵的三元组表示的应用(3.2)
- 第八周 【项目4 - - 稀疏矩阵的三元组表示的实现及应用】
- 第八种 项目4-稀疏矩阵的三元组表示的实现及应用