【数据结构】多维数组

(多维)数组——线性表中的数据元素可以是线性表,但所有元素的类型相同。
广义表——线性表中的数据元素可以是线性表,且元素的类型可以不相同。
在这里插入图片描述

数组的基本操作

⑴ 存取:给定一组下标,读出对应的数组元素;
⑵ 修改:给定一组下标,存储或修改与其相对应的数组元素。
存取和修改操作本质上只对应一种操作——寻址
数组没有插入和删除操作,所以,不用预留空间,适合采用顺序存储

数组的存储结构与寻址——一维数组

设一维数组的下标的范围为闭区间[l,h],每个数组元素占用 c 个存储单元,则其任一元素 ai 的存储地址可由下式确定:
Loc(ai)=Loc(al)+(i-l)×c
在这里插入图片描述
在这里插入图片描述
常用的映射方法有两种:
按行优先:先行后列,先存储行号较小的元素,行号相同者先存储列号较小的元素。
按列优先:先列后行,先存储列号较小的元素,列号相同者先存储行号较小的元素。

按行优先存储的寻址

在这里插入图片描述
在这里插入图片描述
aij前面的元素个数=整行数×每行元素个数+本行中aij前面的元素个数
=(i -l1)×(h2 -l2+1)+(j -l2)
在这里插入图片描述

按列优先存储的寻址

设数组开始存放位置 LOC( 0, 0 ) = a,每个元素占用 l 个存储单元,
则a[i][j]的存储地址:LOC ( i, j ) = a + ( j *n +i ) * l

三维数组

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值