稀疏矩阵十字链表类java_稀疏矩阵的十字链表存储表示
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)
{ //创建稀疏矩阵M 采用十字链表存储表示
if(M)
{
free(M);
}
scanf(&m,&n,&t); //输入M的行数列数和非零元个数
M.mu = m;
M.nu= n;
m.tu = t;
if(!(M.rhead = (OLink *)malloc(sizeof(OLink)*(m+1))))
exit(OVERFLOW);
if(!(M.chead = (OLink *)malloc(sizeof(OLink)*(n+1))))
exit(OVERFLOW);
M.rhead[] = M.chead[] = NULL; //初始化行列头指针向量,各行列链表为空链表
for(scanf(&i,&j,&e); i != 0 ; scanf(&i,&j,&e))
{ //按任意次序输入非零元
if(!(p = (OLNode *)malloc(sizeof(OLNode))))
exit(OVERFLOW);
p->i = i;
p->j = j;
p->e = e; //创建新节点
if(M.rhead[i] ==NULL || M.rhead[i].j > j)
{
p->right = M.rhead[i];
M.rhead[i] = p;
}
else
{
for(q = m.rhead[i];(q->right) && q->right->j right);
p->right = q->right;
q->right = p;
} //完成行插入
if(M.chead[j] == NULL || M.rhead[j]->i >i)
{
p->dowm = M.chead[j];
M.chead[j] = p;
}
else
{
for(q = M.ched[j]; (q->down) && q->down->i < i; q= q->down);
p->down = q->down;
q->down = p; //完成列插入
}
}
}
稀疏矩阵十字链表类java_稀疏矩阵的十字链表存储表示相关推荐
- 模拟STL链表类的实现
模拟STL链表类的实现 STL内部定义了多种容器和迭代器,方便了数据结构类的使用,且不需关注内部源码.为了方便个人使用习惯,我又重写了一个链表类,作为学C++后的第一个项目作业.我将其命名为clist ...
- 稀疏矩阵——实现三元组,十字链表下的稀疏矩阵的加、转、乘的
稀疏矩阵应用: 实现三元组,十字链表下的稀疏矩阵的加.转.乘. 代码: #include<iostream> using namespace std; typedef int ElemTy ...
- java稀疏矩阵_《矩阵》——稀疏矩阵(Java)
转载请注明出处: 转载自 Thinkgamer的CSDN博客:blog.csdn.net/gamer_gyt 1:稀疏矩阵的背景 2:什么是稀疏矩阵? 3:为什么要对稀疏矩阵进行压缩存储以及压缩存储 ...
- 稀疏矩阵三元组 严蔚敏_Sparse稀疏矩阵主要存储格式总结
在数据科学和深度学习等领域会采用矩阵来存储数据,但当矩阵较为庞大且非零元素较少时,运算效率和存储有效率并不高.所以,一般情况我们采用Sparse稀疏矩阵的方式来存储矩阵,来提高存储和运算效率.下面将对 ...
- 数据结构课本学习 --单链表类定义
单链表的类定义: 复合类: class List;class LinkNode{ //结点类定义 friend class List; //List类所有成员可以使用LinkNode的私有成员,反过来 ...
- VC里的集合类、链表类、映射类
集合类是用来容纳和处理一组对象或标准数据类型变量的C++类.每个集合类对象可以看作一个单独的对象.类成员函数可作用于集合的所有元素.MFC提供两种类型的集合类: 基于模板的集合类.非基于模板的集合类. ...
- 1.使用C++封装一个链表类LinkList
使用C++封装一个链表类LinkList.写出相应一个测试用例 链表需要提供 添加 修改删除 除重 合并 排序创建 销毁等接口. 不能调用库函数或者使用STL等类库 题目延伸********** ...
- c语言三元组稀疏矩阵的转置实验报告,稀疏矩阵快速转置 数据结构实验报告
南昌航空大学实验报告 课程名称: 数据结构 实验名称: 实验五 稀疏矩阵的存储和快速转置 班 级: 学生姓名: 学号: 指导教师评定: 签 名: 题目:假设稀疏矩阵A采用三元组表表示,编写程序实现该矩 ...
- 实验8.1 链表类的定义与实现
题目 参照教材中链表类LinkedList的定义(教材中的例程9-6.h),给出其实现,注意合理使用Node类(教材中的例程9-3.h)的成员函数.在测试程序中定义整型链表A和B,分别插入5个元素,使 ...
最新文章
- php字符串定义为arraylist,如何把arraylist集合中的字符串数据保存的文本文件中
- OpenCV读写YAML/XML文件
- tensorflow实战google深度学习框架在线阅读
- 如何设置多个图层层叠关系_凉山车载式叠螺污泥脱水机_山东领旗环保科技
- C#遍历文件读取Word内容以及使用BackgroundWorker对象打造平滑进度条
- 浅析MongoDB数据库的海量数据存储应用
- Android 基础—— 对Context的理解与使用技巧
- linux raid livecd,liveCD,liveDVD,binDVD版本区别Centos
- EBS 报表输出PDF时中文乱码
- 错过后悔十年!计算机视觉入门到精通,学习书籍推荐
- Tomcat压缩传输设置
- IAR编译器问题的总结
- ccs8烧写与擦除dsp2812FLASH的方法
- fw150r虚拟服务器设置,迅捷 FW150R 无线路由器端口映射设置指南
- figma学习记录 快捷键 工具了解(1)
- WOL(Wake On LAN - 局域网唤醒)外网唤醒 配置教程 远程开机
- 矩阵关于26的模逆matlab,给定加密矩阵在模运算下的逆矩阵.ppt
- 【漫漫转码路】Day 38 C++ day09
- SWAT—Samba WEB管理工具
- [KALI] 新装KALI自动化配置
热门文章
- 一个用于SAP UI5学习的脚手架应用,没有任何后台API的依赖
- SAP CRM系统里的附件存储逻辑
- 在SAP WebIDE里开发一个React component
- SAP UI5 another way to change reuse library locally from Yang
- 在SAP Cloud Platform ABAP编程环境里打印系统变量
- Jerry Wang的CRM中间件培训 Middleware
- ABAP Smart Help调试截图
- system table CRMC_BO_RANGES
- 使用代码创建具有organization unit的opportunity
- 如何定制化SAP Spartacus的页面路由Route