2015年大二上-数据结构-数组与广义表(2)-3.上三角矩阵的压缩存储及基本运算
来源:互联网 发布:超级肉食男孩 mac 编辑:程序博客网 时间:2024/05/19 19:40
/**Copyright (c) 2014,烟台大学计算机学院*All rights reserved.*文件名称:Annpion.cpp*作者:王耀鹏*完成日期:2015年12月16日*版本号:v1.0**问题描述:上三角矩阵的压缩存储及基本运算*输入描述:输入第n行的阶层-n+1个数*输出描述:输出上三角矩阵*/#include <stdio.h>#include <malloc.h>#define N 4void Init(int *&b)//为N阶对称矩阵初始化存储数据的一维数组B{ b= (int *)malloc(sizeof(int )*(N*(N+1)/2+1));}int Value(int b[], int i, int j)//返回存储在b[M]中,对应二维数组A[i][j]的值{ if(j<i) return 0; else return b[j*(j+1)/2+i];}void Assign(int b[], int e, int i, int j)//将e赋值给对应二维数组元素A[i][j],要存储到B[M]中{ if(j<i) b[N*(N+1)/2]=e; else b[j*(j+1)/2+i]=e;}void Disp(int b[])//输出压缩存储在b中的对称矩阵{ for(int i=0;i<N;++i) { for(int j=0;j<N;++j) printf("%4d",Value(b,i,j)); printf("\n"); }}void Destroy(int b[])//销毁存储空间{ free(b);}int main(){ int *b1; //指向整型的指针,待初始化 int i, j; int v; Init(b1); printf("请输入对称矩阵(只需要输入下三角部分即可)\n"); for(i=0;i<N;i++) { printf("输入第%d行的%d个数据元素: ", i+1, N-i); for(j=i; j<N; j++) { scanf("%d", &v); Assign(b1, v, i, j); } } Disp(b1); Destroy(b1); return 0;}
运行结果:
0 0
- 2015年大二上-数据结构-数组与广义表(2)-3.上三角矩阵的压缩存储及基本运算
- 2015年大二上-数据结构-数组与广义表(2)-4.下三角矩阵的压缩存储及基本运算
- 2015年大二上-数据结构-数组与广义表(2)-1.对称矩阵的压缩存储及基本运算
- 2015年大二上-数据结构-数组与广义表(2)-2.压缩存储的对称矩阵的运算
- 2015年大二上-数据结构-数组与广义表(3)-1.稀疏矩阵的三元组表示
- 2015年大二上-数据结构-数组与广义表(3)-2.稀疏矩阵的三元组表示
- 2015年大二上-数据结构-数组与广义表(4)-广义表算法库及应用
- 第八周(2) 数组和广义表 对称矩阵的压缩存储及基本运算
- 第八周(2) 数组和广义表 对称矩阵的压缩存储及基本运算
- 2015年大二上-数据结构-数组与广义表(1)-猴子选大王(数组版)
- 第八周(2) 数组和广义表 对称矩阵的压缩存储及基本
- 【第八周】项目3(3)-上、下三角矩阵、对角矩阵的压缩存储结构,以及相关的基本运算的实现
- 第九周 数据结构实现项目--数组和广义表【项目2 - 对称矩阵压缩存储的实现与应用】
- 第九周 数据结构实现项目--数组和广义表【项目2.2 - 压缩存储的对称矩阵的运算】
- 对称矩阵的压缩存储及基本运算(2)
- 数据结构--数组和广义表--以行逻辑链接的顺序表为存储结构的矩阵的基本运算(求矩阵乘积)
- 数据结构-二维数组-三角矩阵压缩存储
- 2015年大二上-数据结构-图-1-(2)操作用邻接表存储的图
- kettle中执行sql语句
- 字符设备驱动程序设计
- 嵌入式的一些基础-串行通讯
- C语言二分朝找,拉格朗日朝找
- 瀑布流、鼠标滑动加载
- 2015年大二上-数据结构-数组与广义表(2)-3.上三角矩阵的压缩存储及基本运算
- 望大家互相指教,每个html语言必须的基本结构
- JD项目的借鉴(1)
- 表格奇偶行变色
- Golang---Defer, Panic, and Recover
- C插入排序法实现
- BZOJ-1008 越狱 数论快速幂
- 设置mysql允许外部IP连接的解决方法
- 对拍怎么写