数组与广义表_稀疏矩阵的压缩存储_三元组做存储结构_矩阵转置
来源:互联网 发布:重启mysql命令 编辑:程序博客网 时间:2024/06/05 06:42
"Matrix.h"
#include<iostream>using namespace std;#define MAX_MATRIXSIZE 20#define ElemType intclass Triple//三元组类{public:int i,j;//行列号ElemType e;//元素值};class TSMatrix//矩阵类{public:TSMatrix();Triple matrix[MAX_MATRIXSIZE];//三元组集合 int mu,nu,tu;//行数,列数,非零元个数};TSMatrix::TSMatrix(){mu=nu=tu=0;}class Matrix//矩阵类封装了有关矩阵的各种操作{public:void GetMatrix();//得到矩阵的三元组void TransposeSMatrix();//矩阵转置void PrintMatrix();//打印矩阵private:void PrintMatrix(Triple[]);//重载函数用于打印转置矩阵void GetCpot(int[]);//求转置矩阵时用于求得辅助数组Cpot的值TSMatrix m;//实例化一个矩阵类的对象};void Matrix::GetMatrix()//得到矩阵的三元组{cout<<"Please Input The Size Of The Matrix(m*n)"<<endl;cin>>m.mu>>m.nu;cout<<"Please Input Matrix With Increasing Order Of RowNumber"<<endl<<"rownum columnnum element"<<endl<<endl;int i,j;ElemType e;while(cin>>i>>j>>e){m.matrix[m.tu].i=i;m.matrix[m.tu].j=j;m.matrix[m.tu].e=e;m.tu++;}cin.clear();}void Matrix::GetCpot(int Cpot[])//求转置矩阵时用于求得辅助数组Cpot的值{int num[MAX_MATRIXSIZE];memset(num,0,sizeof(num));for(int i=0;i<m.tu;i++)num[m.matrix[i].j]++;Cpot[1]=1;for(int i=2;i<m.nu;i++)Cpot[i]=Cpot[i-1]+num[i-1];}void Matrix::TransposeSMatrix()//矩阵转置{int Cpot[MAX_MATRIXSIZE];GetCpot(Cpot);Triple temp[MAX_MATRIXSIZE];for(int i=0;i<m.tu;i++){temp[Cpot[m.matrix[i].j]-1].i=m.matrix[i].j;temp[Cpot[m.matrix[i].j]-1].j=m.matrix[i].i;temp[Cpot[m.matrix[i].j]-1].e=m.matrix[i].e;Cpot[m.matrix[i].j]++;}cout<<endl;PrintMatrix(temp);}void Matrix::PrintMatrix()//打印矩阵{for(int i=0;i<m.tu;i++)cout<<m.matrix[i].i<<" "<<m.matrix[i].j<<" "<<m.matrix[i].e<<endl;}void Matrix::PrintMatrix(Triple t[])//重载函数用于打印转置矩阵{for(int i=0;i<m.tu;i++)cout<<t[i].i<<" "<<t[i].j<<" "<<t[i].e<<endl;}
"main.cpp"
#include"Matrix.h"int main(){Matrix m;m.GetMatrix();m.PrintMatrix();m.TransposeSMatrix();system("pause");}
- 数组与广义表_稀疏矩阵的压缩存储_三元组做存储结构_矩阵转置
- 数组与广义表_稀疏矩阵的压缩存储_三元组做存储结构_矩阵相乘
- 数据结构_数组与广义表_矩阵的十字链表存储稀疏矩阵相加
- 稀疏矩阵的三元组存储结构
- 稀疏矩阵的压缩存储与快速转置 三元组法 类与对象实现
- 三元组表压缩存储稀疏矩阵实现稀疏矩阵的快速转置(Java语言描述)
- 矩阵的压缩存储————用三元组表存储稀疏矩阵
- 基本存储结构_矩阵
- 稀疏矩阵压缩存储的三元组表示法
- 数据结构编程笔记十三:第五章 数组和广义表 稀疏矩阵的压缩存储实现
- 利用稀疏矩阵的“三元组表”存储结构,实现两个矩阵的相加。
- 【数组与广义表项目3-2-稀疏矩阵的三元组的加法】
- 稀疏矩阵三元组存储
- 矩阵的压缩存储(稀疏矩阵的十字链表存储、稀疏矩阵的三元组行逻辑链接的顺序表存储表示、稀疏矩阵的三元组顺序表存储表示)
- 稀疏矩阵的三元组顺序存储
- 稀疏矩阵的三元组存储
- 稀疏矩阵的三元组存储算法
- 稀疏矩阵的压缩存储与转置与加法
- Linux设备驱动之内存映射
- Linux进程地址空间
- 字符编码带来的安全隐患——一个谷歌XSS漏洞
- Android架构详解
- Linux内存管理
- 数组与广义表_稀疏矩阵的压缩存储_三元组做存储结构_矩阵转置
- Linux 内核同步机制
- Objective-C语法之集合对象的那些事儿(九)
- Linux进程通信-信号量
- Linux进程通信-共享内存
- 数组与广义表_稀疏矩阵的压缩存储_三元组做存储结构_矩阵相乘
- Linux进程通信-内存映射
- Objective-C语法之词典对象的那些事儿(八)
- smarty3.0和__autoload()冲突