数据结构C++——矩阵【详】

一、数组 与 矩阵

两者的关系显而易见。

  • 一个矩阵可以被视为多维数组的一个特例,而数组可以视为一维或多维的矩阵。
  • 具体来说,数组是一个线性数据结构,用于存储相同类型的元素,而矩阵是数组的二维表示形式

1.1 考虑数组的索引

创建k维数组:

int score[u1][u2][u3]...[uk]

k维数据的索引/下标:
[ i 1 ] [ i 2 ] [ i 3 ] . . . [ i k ] [i_1][i_2][i_3]...[i_k] [i1][i2][i3]...[ik]

数组元素个数: n = u 1 u 2 u 3 . . . u k n = u_1u_2u_3...u_k n=u1u2u3...uk

内存空间: n ∗ s i z e o f ( i n t ) n * sizeof(int) nsizeof(int)

C++编译器为数组预留空间: s t a r t —— s t a r t + s i z e o f ( s c o r e ) − 1 start——start+sizeof(score)-1 start——start+sizeof(score)1

1.2 索引的映射——行/列主映射

在实现数组的set、get方法时,需要根据索引确定其在 [ s t a r t , s t a r t + s i z e o f ( s o c r e ) − 1 ] [start, start+sizeof(socre)-1] [start,start+sizeof(socre)1]中的对应位置,即需要实现一个映射函数:

[ i 1 ] [ i 2 ] [ i 3 ] . . . [ i k ] → s t a r t + m a p ( i 1 , i

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

边懵懵'.ㅅ'

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值