#include
#include
#define ElementType inttypedefstruct GNode *GList;structGNode{int row; //所在行数
int col; //所在列数
GList right;
GList down;int Tag; /*Tag作为标志域,区分union中是什么数据:0表示节点是头节点head,1表示节点是非零元素节点Term*/ElementType value;//数据域
};
GList head;//制作空表并初始化行和列的头结点,返回头指针
GList MakeEmpty(int row_number,intcol_number){
GList PtrL;
PtrL= (GList)malloc(sizeof(structGNode));
PtrL->row = row_number; //头结点的row和col存储稀疏矩阵的总行数和总列数
PtrL->col =col_number;
PtrL->Tag = 0;
GList temp_row=PtrL;
GList temp_col=PtrL;for (int i = 0; i < row_number; ++i){
temp_row->down = (GList)malloc(sizeof(structGNode));
temp_row= temp_row->down;
temp_row->Tag = 0;
temp_row->row = 0;
temp_row->col = 0;
temp_row->right =temp_row;
}for (int i = 0; i < col_number; ++i){

本文介绍了一种使用C语言实现稀疏矩阵的十字链表存储方法,包括制作空表、查找头结点、定位节点、插入节点、删除节点、遍历输出节点等操作。代码示例展示了如何创建、修改和打印稀疏矩阵。
最低0.47元/天 解锁文章
1240

被折叠的 条评论
为什么被折叠?



