#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<stdarg.h>
#define TRUE 1
#define FALSE 0
#define OK 1
#define ERROR 0
#define INFEASIBLE -1
#define OVERFLOW -2
typedef int Status;
typedef int ElemType;
typedef struct OLNode
{
int i,j; //该非零元的行和列下标
ElemType e;
struct OLNode *right,*down; //该非零元所在行表和列表的后继链域
}OLNode, *OLink;
typedef struct
{
OLink *rhead,*chead; //行和列链表头指针向量基址由CreateSMatrix分配
int mu,nu,tu; //稀疏矩阵的行数、列数和非零元个数
}CrossList; //十字链表
/*******************************声明部分****************************************/
Status CreateSMatrix_OL(CrossList *M);
//创建十字链表
Status PrintSMatrix_OL(CrossList M);
//输出十字链表
/*******************************函数部分****************************************/
Status CreateSMatrix_OL(CrossList *M)
{
int m,n,t,k,i,j,e;
if(M)
free(M);
printf("请输入矩阵的行数:");
【数据结构】算法5.4 十字链表-创建
最新推荐文章于 2025-06-21 12:52:22 发布