【问题标题】:Find out address an index in a 2D array given matrix elements are sorted in 1D Array给定矩阵元素在一维数组中排序,找出二维数组中的索引地址
【发布时间】:2021-12-14 05:44:46
【问题描述】:

尺寸为 50*50 的下三角矩阵最好存储在一维数组中。数组的基地址是 4321。 如果数组索引以 0 开头,矩阵索引以 (1, 1) 开头,则矩阵的元素 (34,23) 的地址是什么?

谁能给我这个答案。卡住无法解决,因为我认为我需要在这里应用列或行主要顺序方法,但我没有得到答案。解决这个问题的任何其他方法。

【问题讨论】:

    标签: arrays matrix data-structures


    【解决方案1】:

    假设矩阵是M,那么元素M(34,23)到开始的距离是[1+2+3+..33]+[23个元素] = 584。

    数组的基地址是 4321。因此数组中 M(34,23) 元素的地址应该是 4321+584-1(对于从 0 开始的数组) = 4904。

    【讨论】:

    • 感谢 Vikas,所以我们必须添加 23 个元素而不是 22 个。因为我们想要正确的第 23 列元素地址。应该一直到22对吧?
    • 好问题。由于数组索引从 0 开始,所以第一个元素是 0,那么第 23 个元素将是 22。因此它应该是 +22。更改我的回复。
    • 是的,现在我明白了。再次感谢你。干杯!
    • 太棒了!!乐于助人。
    猜你喜欢
    • 2021-02-03
    • 2014-04-19
    • 2021-07-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多