数字逻辑——数组维度转换简析
来源:互联网 发布:心中的秘密知乎 编辑:程序博客网 时间:2024/06/08 18:47
前言:识盈虚之有数,觉宇宙之无穷——这是一种存在于意识形态上的对大自然的高度概括
从物理现象到数学逻辑,从具体实例抽象到泛化规律的转变——算法,笔者浅见。
官方对算法的定义——算法(Algorithm)是指解题方案的准确而完整的描述。
关于数组维度转换逻辑
比较简单直接上代码:
{
int arr[width][height];
for(int i=0;i<width*height;i++)
arr[i/width][i%width]..... //用一个线性下标来逻辑上的表示二维数组,//等效s[i];
}
在这数组的内部实现本就是分配的一组线性内存,所以也可以通过指针直接顺序寻任意维度(dimension)的数组的元素
但是与指针相比:逻辑层面上的转换更具有泛性
code start
{
int **arr=(int**)malloc(sizeof(int*)*demension_1); //demension_1:表示数组第一维的长度
for(int i=0;i<demension_1;i++)
arr[i]=(int*)malloc(sizeof(int)*demension_2); //demension_2表示数组第二维的长度
........(同理可以动态分配多问数组)
}
简析:上述代码动态分配多维数组,这里数组的内部构造并不一定是线性存在于内存的
此时如果简单的使用指针来进行线性寻址的话是不成立的(可以稍做改变对数组的第一维线性寻址,比较简单,此处不予实现)
但如果依旧使用上述的逻辑转换成一维数组的话依旧可以实现
其实运用数字对数据结构进行逻辑上的转换还有很多,但其本质思想相同
下一次笔者会总结一个更加经典的——静态链表(前人的智慧)
- 数字逻辑——数组维度转换简析
- 字符—数字转换
- 数字转换成字符数组
- 逻辑数组应用,图像数据转换
- 维度模型数据仓库(二) —— 维度模型基础
- 维度模型数据仓库(八) —— 维度子集
- 维度模型数据仓库(九) —— 角色扮演维度
- 维度模型数据仓库(十一) —— 维度层次
- 维度模型数据仓库(十三) —— 退化维度
- 维度模型数据仓库(十四) —— 杂项维度
- 维度模型数据仓库(十九) —— 维度合并
- 维度模型数据仓库(二十一) —— 分段维度
- python转换维度
- tensorflow | 维度转换
- 笔试题———求二位数组(NXN)不同维度之和的最大值
- 检测数组的维度
- 增加数组的维度
- 数组的维度
- CentOS 7 安装与卸载MySQL 5.7
- 讨论.NET Core 配置对GC 工作模式与内存的影响
- 微软Connect(); 2017大会梳理:Azure、数据、AI开发工具
- Docker & ASP.NET Core 2.0 微服务跨平台实践
- vtk连接错误
- 数字逻辑——数组维度转换简析
- fetch发post请求
- 在QT中添加.lib,.dll还有.h文件
- java作业
- quartus II编译报错:Error: Current license file does not support the XXX device
- HttpClient使用详解
- Qt退出码255
- vim计算器
- nmcli命令集