稀疏矩阵快速转置核心代码
#include<stdio.h> //栈的顺序存储
#include<string.h>
#include<stdlib.h>
#include<malloc.h>
#define MAXSIZE 100
#define LIST_INIT_SIZE 100
#define LISTINCREMENT 10
#define SElemType int
#define OK 1
#define ERROR 0
#define TRUE 1
#define FALSE 0
#define OK 1
#define ERROR 0
#define INFEASIBLE -1
#define OVERFLOW -2
#define STACK_INIT_SIZE 100
#define STACKINCREMENT 10typedef struct //定义三元组
{int hang,lie;int zhi;
}SAN;
typedef struct
{SAN data[MAXSIZE];int mu,nu,tu;
}SANYUAN;
void zhuanzhi(SANYUAN M,SANYUAN *T) //对三元组进行转置
{int col,p,q,t; int num[MAXSIZE],cpot[MAXSIZE];T->mu=M.nu;T->nu=M.mu;T->tu=M.tu;if(T->tu){for(col=1;col<=M.nu;++col) num[col]=0;for(t=1;t<=M.tu;++t) ++num[M.data[t].lie]; cpot[1]=1;for(col=2;col<=M.nu;++col) cpot[col]=cpot[col-1]+num[col-1];for(p=1;p<=M.tu;++p) { col=M.data[p].lie;q=cpot[col];T->data[q].hang=M.data[p].lie; T->data[q].lie=M.data[p].hang;T->data[q].zhi=M.data[p].zhi;++cpot[col]; }}
}void output(SANYUAN *M) //输出三元组
{int i,j;int t=1;for(i=1;i<=M->mu;i++){for(j=1;j<=M->nu;j++){if(M->data[t].hang==i&&M->data[t].lie==j){printf("%d ",M->data[t].zhi);t++;}else printf("0 ");}printf("\n");}
}
int main()
{SANYUAN A,T;int k;printf("输入矩阵大小\n");printf("行:");scanf("%d",&A.mu);printf("列:");scanf("%d",&A.nu);printf("非零元素个数:");scanf("%d",&A.tu);printf("输入三元组表:\n"); //顺序输入三元组for(k=1;k<=A.tu;k++){scanf("%d %d %d",&A.data[k].hang,&A.data[k].lie,&A.data[k].zhi);}printf("原矩阵\n");output(&A);zhuanzhi(A,&T);printf("转置后的矩阵:\n");output(&T);return 0;
}
稀疏矩阵快速转置核心代码相关推荐
- 稀疏矩阵快速转置c语言代码(详解)
通过下列代码解释: 这么说吧,刚开始我也不是很理解.在经过一段时间研究后才枉然大悟. 1.首先说下,在以三元组表的形式存矩阵元素时.如果是以行向量来存的话,在输入与输出时,同一行中的数据,列不一定按顺 ...
- c语言三元组稀疏矩阵的转置实验报告,稀疏矩阵快速转置 数据结构实验报告
南昌航空大学实验报告 课程名称: 数据结构 实验名称: 实验五 稀疏矩阵的存储和快速转置 班 级: 学生姓名: 学号: 指导教师评定: 签 名: 题目:假设稀疏矩阵A采用三元组表表示,编写程序实现该矩 ...
- 稀疏矩阵按列转置核心代码
- 用三元组存储稀疏矩阵,实现其快速转置c语言代码,稀疏矩阵三元组表快速转置(C语言实现)...
本来准备昨天下午写的,但是因为去参加360众测靶场的考核耽搁了,靶场的题目还是挺基础的. 继续学习吧. 使用黑色墨水在白纸上签名就像由像素点构成的稀疏矩阵.如图4所示. 图4手写体签名 [问题]请将以 ...
- 【LB】稀疏矩阵的快速转置原理及其算法
关于稀疏矩阵的快速转置法,首先得明白其是通过对三元表进行转置.如果误以为是对矩阵进行转置,毫无疑问就算你想破脑袋也想不出个所以然,别陷入死胡同了! 对于一个三元表,行为i,列为j,值为v.需将其i与j ...
- java三元组的快速转置_稀疏矩阵三元组快速转置(转poklau123写的很清楚)
关于稀疏矩阵的快速转置法,首先得明白其是通过对三元表进行转置.如果误以为是对矩阵进行转置,毫无疑问就算你想破脑袋也想不出个所以然,别陷入死胡同了! 对于一个三元表,行为i,列为j,值为v.需将其i与j ...
- 用三元组存储稀疏矩阵及其快速转置
用三元组存储稀疏矩阵及其快速转置 稀疏矩阵的三元组存储方式 快速转置算法 代码 稀疏矩阵的三元组存储方式 稀疏矩阵可以用一个三元组数组表示,数组每个元素是一个三元组,三元组形式为 (矩阵行号,矩阵列号 ...
- 稀疏矩阵转置 java代码_三元组稀疏矩阵的快速转置
小问题却整了这么久,能力有待加强,要强烈区分三元组的列数与元素总数, 不能将他俩写混了 #include #define MAXSIZE 1250 #define OK 1 #define ERROR ...
- 5.3矩阵的压缩存储(稀疏矩阵转置和快速转置)
在矩阵中有许多值相同的元素或者是零元素.有时为了节省存储空间,可以对这类矩阵进行压缩存储.所谓的压缩存储是指:为多个值相同的元值分配一个存储空间:对零元不分配空间. 5.32稀疏矩阵 在m*n的矩阵中 ...
最新文章
- 使用SpringBoot发送邮件 在本地测试是好的 放到服务器连接超时问题
- 关于ie,火狐,谷歌浏览器滚动条的隐藏以及自定义样式
- vuejs之【router-link】大全(二)
- AT2305-[AGC010D]Decrementing【博弈论】
- iphone开发之C++和Objective-C混编
- 关于阿克曼函数(akermann)非递归算法的一点见解 c++
- 电力-输配电知识汇总
- 西瓜书(机器学习周志华)公式详细推导
- java英语单词查询,输入一个单词根据字典查询单词意思
- 计算机知识动画片,这些好看的动画片里竟然藏着许多知识点!(内附2019年观影日历)...
- 我的世界虚无2可直连服务器IP,我的世界虚无世界服务器1.7.10
- 2021年中国中药创新药行业市场现状分析,医保中药扶持逐渐加强「图」
- 国家计算机职业技能鉴定4级考试内容详解
- 【电磁场】矢量分析基础
- 【光通信】常见光模块与光纤收发器说明及作用区别
- html网站meta标签大全
- Chrome好用插件推荐
- app营销实训报告_实习报告:软件销售实习报告
- 微信小程序开发需要多少钱?
- 基于CNN的多光谱数据遥感图像地物覆盖分类
热门文章
- mysql safe 关闭_新手请教,mysqld经常自动关闭是什么原因?-问答-阿里云开发者社区-阿里云...
- 使用Flutter一年后,这是我得到的经验
- 捷讯技术分享SSH 无法远程登录问题的处理办法汇总
- 智能家居数据获得美好生活的6种方法
- Apache和Tomcat的区别是什么?
- mongodb3.0的权限认证问题
- jquery笔记___返回值问题
- Openresty中使用LuaJit
- 网络规划与设计讨论会(第3期)
- ***产业链 安全新忧患