当前位置:首页 > 特殊矩阵的压缩存储算法的实现
软件综合课程设计
特殊矩阵的压缩存储算法的实现
二叉排序树的实现
二〇一四 年 六 月
一、特殊矩阵的压缩存储算法的实现
1.问题陈述
对于特殊矩阵可以通过压缩存储减少存储空间。 基本要求:
1.针对多种特殊矩阵进行压缩存储,并能显示压缩后的相关地址和值; 2.输入在原来特殊矩阵中的地址,要求能从压缩后的矩阵中读出相应的值;
2.程序代码
#include
static shangsanjiao(int n) {
int i,j,k,z,g;
int L[100][100],SA[100];
cout<<\请输入您要压缩矩阵的行列数\cin>>n;
cout<<\请输入您的矩阵内元素:\for(i=1;i cin>>L[i][j]; if(i<=j) k=j*(j-1)/2+i-1; else k=n*(n+1)/2; SA[k]=L[i][j]; } cout<<\您输入的矩阵为:\for(i=1;i cout<<\压缩存储后:\for(k=0;k cout<<\若要读取矩阵的值请输入'100'退出输入'000'。\cin>>z; for(g=0;g<1000;g++) { while(z==100) { cout<<\请您输入未压缩时所在行数:\cin>>i; cout<<\请您输入未压缩时所在列数:\cin>>j; if(i<=j) k=j*(j-1)/2+i-1; else k=n*(n+1)/2; cout<<\该地址的值为:\cout< cout<<\继续请输入'100'退出输入'000'。\cin>>z; } break; } } static duichen(int n) { int i,j,k,z,g; int L[100][100],SA[100]; cout<<\请输入您要压缩矩阵的行列数\cin>>n; cout<<\请输入您的矩阵内元素:\for(i=1;i cin>>L[i][j]; if(i>=j) k=i*(i-1)/2+j-1; else k=j*(j-1)/2+i-1; SA[k]=L[i][j]; } cout<<\您输入的矩阵为:\for(i=1;i for(j=1;j cout<<\压缩存储后:\for(k=0;k cout< cout<<\若要读取矩阵的值请输入'100'退出输入'000'。\cin>>z; for(g=0;g<1000;g++) { while(z==100) { cout<<\请您输入未压缩时所在行数:\cin>>i; cout<<\请您输入未压缩时所在列数:\cin>>j; if(i>=j) k=i*(i-1)/2+j-1; else k=j*(j-1)/2+i-1; cout<<\该地址的值为:\cout< cout<<\继续请输入'100'退出输入'000'。\cin>>z; } break; } } static xiasanjiao(int n) { int i,j,k,z,g; int L[100][100],SA[100]; cout<<\请输入您要压缩矩阵的 行列数\cin>>n; cout<<\请输入您的矩阵内元素: \for(i=1;i cin>>L[i][j]; if(i>=j) k=i*(i-1)/2+j-1; else k=n*(n+1)/2; SA[k]=L[i][j]; } cout<<\您输入的矩阵为:\for(i=1;i
共分享92篇相关文档