以三元组形式输出用十字链表表示的稀疏矩阵中非零元素及其下标的算法
2014-06-22 18:21
453 查看
试编写一个以三元组形式输出用十字链表表示的稀疏矩阵中非零元素及其下标的算法。
稀疏矩阵的十字链表存储表示:
稀疏矩阵的十字链表存储表示:
typedef struct OLNode { int i,j; // 该非零元的行和列下标 ElemType e; // 非零元素值 OLNode *right,*down; // 该非零元所在行表和列表的后继链域 }OLNode, *OLink; typedef struct { OLink *rhead,*chead; // 行和列链表头指针向量基址 int mu,nu,tu; // 稀疏矩阵的行数、列数和非零元个数 }CrossList;实现函数如下:
void OutCSM(CrossList M, void(*Out3)(int, int, int)) /* 用函数Out3,依次以三元组格式输出十字链表表示的矩阵 */ { int i; OLink p; for(i = 1;i <= M.mu; i++){ p = M.rhead[i]; //p指向每一行的基址 while(p){ Out3(p -> i,p -> j,p -> e); p = p -> right; //p向右移 } } }
相关文章推荐
- 第9周—项目3(1)建立稀疏矩阵三元组表示的算法库
- 稀疏矩阵的三元组表示的实现及应用(1)——建立稀疏矩阵三元组表示的算法库
- 第九周上机实践—项目3(1)—建立稀疏矩阵三元组表示的算法库
- 稀疏矩阵的三元组表示的实现及应用(2)——采用三元组存储稀疏矩阵,设计两个稀疏矩阵相加的运算算法
- 第九周 项目3-1 -建立稀疏矩阵三元组表示的算法库
- 第九周项目3--稀疏矩阵的三元组表示的实现及应用--(1)建立稀疏矩阵三元组表示的算法库
- 有一个3×4的矩阵,要求输出该矩阵中的最大元素及其所在的行号(行下标)和列号(列下标)。
- 第九周 项目3 建立稀疏矩阵表示的三元组算法库
- 第九周项目3---(1)建立稀疏矩阵三元组表示的算法库
- Sparse Matrix(稀疏矩阵三元组表示,三元组形式的矩阵转置)
- 第九周--建立稀疏矩阵三元组表示算法库
- 第九周【项目三-(1)建立稀疏矩阵三元组表示的算法库】
- //稀疏矩阵 三元组算法
- C++实现稀疏矩阵的十字链表表示法
- 数据结构-稀疏矩阵(三元组表示)
- c编程:求出4×4矩阵中最大和最小元素值及其所在行下标和列下标,求出两条主对角线元素之和。
- 数据结构(二):线性表的使用原则以及链表的应用-稀疏矩阵的三元组表示
- 稀疏矩阵的三元组顺序表存储及矩阵相乘算法小结
- 线性代数4:稀疏矩阵的十字链表表示法
- 稀疏矩阵A和B,其行数和列数对应相等,编写一个程序,计算A和B之和,假设稀疏矩阵采用三元组表示