【问题标题】:Is an array of 2D arrays a 3D array?2D 数组的数组是 3D 数组吗?
【发布时间】:2021-12-31 15:04:02
【问题描述】:

我正在为定义 3D 数组的概念而苦苦挣扎。我将 1 维视为单个数组,将 2 维视为“网格”,将 3 维视为“立方体”。那么二维数组的数组算作什么?

【问题讨论】:

  • 除非您是在某个编程环境库的上下文中提出这个问题 - 这是一个解释问题。立方体不是二维切片的“数组”吗,每个切片都是二维数组?如果你的答案是“不”,那么 - 为什么不呢?
  • 我目前正在计划一份报告,因此它不是在编程环境的上下文中 - 更多的是一个思想实验。我想我现在明白其中的逻辑了。
  • 我投票结束这个问题,因为它似乎超出了本网站的范围。

标签: multidimensional-array definition


【解决方案1】:

使用编程语言是为某些数据建立模型的一种简单方法。但是模型的实现显然更难想象。

考虑以下几点:

  • 一维数组是指向数据值的指针列表。指针和值是对的。数据值可以是简单的形式,如字节、整数、字符或布尔值。但是,它们是用您的编程语言调用的。或者它可以是指向更复杂数据的指针,如字符串、结构、联合等。它也可以是指向其他数组的指针。

什么是二维数组的数组

在您的示例中,二维数组的一维数组可以是二维指针的集合(例如屏幕坐标)。

大多数语言不将其称为指针,因为它很难理解,并且更喜欢具有特定内容的 1、2、3 甚至更多维框的想法。但不管怎样,你都这么称呼它——这个想法现在对你来说可能更清楚了。

【讨论】:

  • 你的结论让我有点困惑,你是说带有指向 2D 数组值的指针的数组只是 3D 数组的另一个词还是 3D 数组是不同的东西?
  • 3D 阵列是不同的。您可以将其可视化为一个立方体,该立方体中的每个坐标都是指向数据值的指针。
【解决方案2】:

将一维数组视为一条线,将 2D 数组视为一美元钞票,将 3D 数组(与 2D 数组的数组相同)视为一叠钞票。

【讨论】:

  • 这是 2D 和 3D 数组的一个很好的类比,谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-02-07
  • 2017-07-26
  • 2016-12-23
  • 2015-08-21
  • 2019-12-23
  • 1970-01-01
相关资源
最近更新 更多