第九周-项目2 - 对称矩阵压缩存储的实现与应用
来源:互联网 发布:天涯明月刀情缘 知乎 编辑:程序博客网 时间:2024/05/18 01:52
</pre><pre name="code" class="cpp">/*Copyright (c) 2015,烟台大学计算机学院*All right reserved*文件名称:博客.cpp*作者:贾召飞*完成日期:2015年10月30日*版本号:v1.0**问题描述: 数据结构例程——对称矩阵的压缩存储及基本运算*/#include<iostream>using namespace std;#include<stdio.h>#include<malloc.h>#define N 4void Init(int *&b);int Value(int b[], int i, int j);void Assign(int b[], int e, int i, int j);void Disp(int b[]);void Destroy(int b[]);int main(){int *b1;int v;int i, j;Init(b1);cout << "请输入对称矩阵" << endl;for (i = 0; i < N; i++){cout << "请输入"<< i+1 << "行" << "的" << i+1 << "个数据"<< endl;for (j = 0; j <= i; j++){cin >> v;Assign(b1, v, i, j);}}Disp(b1);Destroy(b1);return 0;}void Init(int *&b){ b = (int*)malloc(sizeof(int)*(N*(N+1)/2));}//返回存储在b[M]中,对应二维数组A[i][j]的值int Value(int b[], int i, int j){ if (i>=j) return b[(i*(i+1))/2+j]; else return b[(j*(j+1))/2+i];}//将e赋值给对应二维数组元素A[i][j],要存储到B[M]中void Assign(int b[], int e, int i, int j){ if (i>=j) b[(i*(i+1))/2+j] = e; else b[(j*(j+1))/2+i] = e; return;}//输出压缩存储在b中的对称矩阵void Disp(int b[]){ int i,j; for (i=0; i<N; i++) { for (j=0; j<N; j++) printf("%4d",Value(b,i,j)); printf("\n"); }}//销毁存储空间void Destroy(int b[]){ free(b);}
运行结果如下图所示
0 0
- 第九周 项目2-对称矩阵的压缩存储的实现与应用
- 第九周--项目2对称矩阵压缩存储的实现与应用(2)
- 第九周项目2-对称矩阵压缩存储的实现与应用(2)
- 第九周项目2——对称矩阵压缩存储的实现与应用(2)
- 第九周项目2-对称矩阵压缩存储的实现与应用(2)
- 第九周项目2 - 对称矩阵压缩存储的实现与应用(2)
- 第九周 项目2-对称矩阵压缩存储的实现与应用(2)
- 第九周项目2—对称矩阵压缩存储的实现与应用(2)
- 第九周项目2-对称矩阵压缩存储的实现与应用(2)
- 第九周项目2对称矩阵压缩存储的实现与应用(2)
- 第九周项目2-对称矩阵压缩存储的实现与应用(2)
- 第九周项目2 - 对称矩阵压缩存储的实现与应用(2)
- 第九周实践项目2—对称矩阵压缩存储的实现与应用(2)
- 第九周项目2-对称矩阵压缩存储的实现与应用(2)
- 第九周项目2 对称矩阵压缩存储的实现与应用2
- 第九周 项目2-对称矩阵压缩存储的实现与应用(2)
- 第九周项目2- 对称矩阵压缩存储的实现与应用(2)
- 第九周项目2-对称矩阵压缩存储的实现与应用(2)
- MySql命令行创建和删除触发器
- 单精度浮点数(float)与双精度浮点数(double)的区别
- 汇编学习心得
- web项目中各种路径的获取
- 稀疏矩阵的三元组表示的实现及应用(2)——采用三元组存储稀疏矩阵,设计两个稀疏矩阵相加的运算算法
- 第九周-项目2 - 对称矩阵压缩存储的实现与应用
- 图文解说 JavaScript this 到底指向什么?
- dlopen RTLD_NOW RTLD_LAZY RTLD_GLOBAL
- maven常用命令
- Python使用socket传输文件
- 浅谈XML 解析技术性能对比分析之 解析XML
- 12 个 CSS 高级技巧汇总
- 全面理解Unity加载和内存管理机制之二:进一步深入和细节
- LintCode_子数组之和