C++稀疏矩阵的压缩
来源:互联网 发布:deap python 编辑:程序博客网 时间:2024/06/06 02:29
#include <iostream>using namespace std;const int MaxSize=20;struct TupNode{ int r;//行号 int c;//列号 int d;//元素定义};//三元组定义struct TSMatrix{ int rows;//行数 int cols;//列数 int nums;//非零元素的个数 TupNode data[MaxSize];//三元组顺序表的定义};void creatMat(TSMatrix& t,int A[][7],int M,int N){ t.rows=M; t.cols=N; t.nums=0; for(int i=0; i<M; i++) { for(int j=0; j<M; j++) if(A[i][j]!=0)//之存储非零元素 { t.data[t.nums].r=i; t.data[t.nums].c=j; t.data[t.nums].d=A[i][j]; t.nums++; } }}bool Valu(TSMatrix& t,int x,int i,int j){ int k=0,k1; if(i>=t.rows||j>=t.cols) return false;//失败时返回false while(k<t.nums&&i>t.data[k].r)//查找行 k++; while(k<t.nums&&i>t.data[k].r)//查找列 k++; if(t.data[k].r==i&&t.data[k].c==j) t.data[k].d=x;//存在这样的元素 else { for(k1=t.nums-1; k1>=k; k1--) { t.data[k1+1].r=t.data[k1].r; t.data[k1+1].c=t.data[k1].c; t.data[k1+1].d=t.data[k1].d; } t.data[k].r=i; t.data[k].c=j; t.data[k].d=x; t.nums++; } return true;}bool assign(TSMatrix t,int &x,int i,int j){ int k=0; if(i>=t.rows||j>=t.cols) return false; while(k<t.nums&&i>t.data[k].r)//查找行 k++; while(k<t.nums&&i>t.data[k].r)//查找列 k++; if(t.data[k].r==i&&t.data[k].c==j) x=t.data[k].d;//存在这样的元 else x=0; return true;}void DispMat(TSMatrix t){ int i; if(t.nums<=0) return; cout<<'('<<t.rows<<','<<t.cols<<','<<t.nums<<')'; for(i=0; i<t.nums; i++) cout<<'('<<t.data[i].r<<','<<t.data[i].c<<','<<t.data[i].d<<')';}void Trantat(TSMatrix t,TSMatrix &tb){ int p,q=0,v; tb.rows=t.cols=t.rows; tb.nums=t.nums; if(t.nums!=0) for(v=0; v<t.cols; v++) for(p=0; p<t.nums; v++) { if(t.data[p].c==v) { tb.data[q].r=t.data[p].c; tb.data[q].r=t.data[p].r; tb.data[q].r=t.data[p].d; } }}int main(){ int A[6][7]= {{0,0,1,0,0,0,0}, {0,2,0,0,0,0,0}, {3,0,0,0,0,0,0}, {0,0,0,5,0,0,0}, {0,0,0,0,6,0,0}, {0,0,0,0,0,7,4} }; TSMatrix T; creatMat(T,A,6,7); DispMat(T); return 0;}
0 0
- 稀疏矩阵的压缩
- 稀疏矩阵的压缩矩阵
- C++稀疏矩阵的压缩
- 稀疏矩阵的压缩存储
- 稀疏矩阵的压缩存储
- 稀疏矩阵的压缩存储
- 稀疏矩阵的压缩存储
- 稀疏矩阵的压缩存储
- 稀疏矩阵的压缩存储
- 稀疏矩阵的压缩存储
- 稀疏矩阵的压缩存储
- 矩阵(稀疏矩阵)的压缩存储
- 对称矩阵、稀疏矩阵的压缩存储
- 稀疏(sparsity)矩阵的行压缩存储
- 稀疏矩阵的压缩存储技术
- C++实现稀疏矩阵的压缩存储
- 【矩阵】对称矩阵及稀疏矩阵的压缩存储
- 稀疏矩阵压缩存储
- 尝试用Gearman实现分布式处理(PHP)
- gdb 调试命令索引
- Android 自动化测试(6)<monkey>
- 添加资源到android源码中-修改framework层
- Hadoop MapReduceV2(Yarn) 框架
- C++稀疏矩阵的压缩
- (转)Linux下不同颜色文件的类型
- linux环境变量设置方法总结(PATH/LD_LIBRARY_PATH)
- android弧形进度条
- (一)线程管理_2---获取和设置线程信息
- 图像分割高铁扣件
- ubuntu 下正常使用中文输入法,并将文件夹改为英文
- hdu4107 线段树水题
- Wi-Fi 直连测试过程