问题标签 [multidimensional-array]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
8 回答
56150 浏览

objective-c - 使用 NSMutableArray 的二维数组

我需要在 Objective-C 中创建一个可变的二维数组。

例如我有:

中的每个项目sections都由一个数组组成rowsrows是一个包含对象的数组。

我想做这样的事情:

为了有这样的东西:section 0, rows: obj1, obj2, obj3 section 1, rows: obj4, obj5, obj6, obj 7 ...

有没有办法在 Objective-C 中做到这一点?

0 投票
2 回答
3545 浏览

perl - 如何使用 Perl 将多维数组 (AoA) 添加到 Excel?

我想使用 Perl 在 Excel 中添加存储在 2x2 维数组中的数据。我知道如何打开和添加简单的数据。我可以使用 for 循环来做到这一点。但我怎样才能优雅地做到这一点?

这就是我想要做的

其中@data是二维数组。

0 投票
3 回答
818 浏览

c - C 数组显示垃圾数据(内存问题?)

我正在为我从计算机的并行端口驱动的 8x8 LED 矩阵制作驱动器。它应该是一个时钟,灵感来自我在 Tokyoflash 上看到的一个设计。

驱动程序的一部分是绘制到矩阵的 3*5 数字“精灵”数组。矩阵的坐标被分配给精灵的坐标等等,直到整个精灵都被绘制在上面。对具有偏移的另一个数字重复此过程。我已经验证我已经正确绘制了精灵,并且矩阵在写入时是空白的。但是,当我在矩阵上绘制一个数字时,我在 Numpad6 处得到错误的 1,左侧数字为 Numpad1,右侧为 Numpad1(未绘制左侧数字的示例。

我有一周的 C 经验,这让我很困惑。

如果您想自己编译,这里是完整的驱动程序。它远未完成。

此外,我必须使我的 Sprite 数组边界每个都比它们应该工作的要大。我认为这只是一些记忆混乱,但我离 C 语言的熟练程度还差得很远,不知道该怎么做。

我将不胜感激任何帮助。

0 投票
6 回答
9003 浏览

java - 实现一个更有效的矩阵 - 使用数组数组 (2D) 还是 1D 数组?

使用数组实现 Matrix 构造时,哪个更有效?使用一维数组还是数组数组(二维)?

我认为 2D 更有效,因为您已经拥有元素的 X 和 Y 坐标,而在 1D 实现中,您必须计算索引。

编辑:它正在使用 Java 实现

0 投票
3 回答
3533 浏览

c++ - 多维数组 (C++)

我正在尝试将指针存储在数组中。

我指向指针的指针是类对象是:

所以我知道我可以像这样使用 new 运算符来分配它:

我正在阅读一个带有标点符号的文本文件,这是我目前所拥有的:

我想我的问题是:

  • 我是否为文件中的每个单词分配了空间?
  • 我将如何在我的 while/for 循环中的 ClassObject 数组中存储一个指针?
0 投票
6 回答
2368 浏览

php - 多维 PHP 数组或对 mysql DB 的多个查询

我正在使用PHPExcel库,它似乎做得很好,但在我的方法中,它似乎并没有那么快。

我需要生成一个带有分配表、数据、公式和样式(粗体、颜色、边框)的 excel 文件,这需要我分配计算资源和时间。
我认为我的方法不太好。当即将使用 PHP 代码和来自 mysql 数据库的数据生成这种文件(excel)时,必须是正确的顺序。

1) 生成所有没有格式/样式、没有公式、添加数据和公式和样式
的工作表 2) 生成带有数据的工作表、添加公式、添加样式
3)....

最好将数据库中的所有需要​​数据放在一个多维数组中,而不是每次我希望写入新工作表时都查询数据库?

我正在使用双核处理器机器和 4GB 或 RAM,如果 Apache 没有崩溃,我需要大约 1 分钟。

0 投票
8 回答
341587 浏览

arrays - 如何在 MATLAB 中遍历 n 维矩阵中的每个元素?

我有个问题。我需要遍历 MATLAB 中 n 维矩阵中的每个元素。问题是,我不知道如何对任意数量的维度执行此操作。我知道我可以说

等等,但是有没有办法为任意数量的维度做到这一点?

0 投票
2 回答
875 浏览

multidimensional-array - 如何使用指针链接两个多维数组?

我需要基本上合并一个二进制堆和线性探测哈希表来制作一个“复合”数据结构,它具有堆的功能,具有哈希表的排序能力。

我需要做的是为每个数据结构(二进制堆和哈希)创建 2 个二维数组,然后用指针将它们相互链接,这样当我更改内容时,例如删除二进制堆中的值,它也会得到在哈希表中删除。

因此,我需要让 Heap 数组的一行从 Heap 指向 Hastable,而 hashtable 数组的一行从 hashtable 指向堆。

0 投票
4 回答
2822 浏览

algorithm - kd-tree 是否适合 4D 时空数据(x,y,z,time)?

我想使用数据结构对时空数据(x、y、z、时间)进行排序。

目前,处理算法搜索一组 4D (x,y,z,time) 点,给定球面 (3d) 空间半径和线性 (1d) 时间半径,标记每个点,哪些其他点在这些半径内。原因是处理后,我可以在 O(1) 时间内询问任何 4D 点的所有邻居。

然而在一些常见的空间和时间半径配置中,算法的第一次运行大约需要 12 个小时。信不信由你,与我们行业中的现有产品相比,这实际上速度很快。不过,我想帮助加快初始运行速度,所以我想知道:kd-tree是否适合 4D 时空数据?

请注意,我不是在寻找最近邻搜索或 k-最近邻搜索的实现。

更多信息:

一个示例数据集有 450,000 个 4D 点。

一些数据集是时间密集的,因此按时间排序肯定会节省处理时间,但仍会导致许多距离检查。

时间由 Excel 样式的日期表示,典型范围在 30,000-39,000(大约)之间。空间范围有时是较高的值,有时是较低的值,但每个空间坐标之间的范围与时间相似(例如 maxX-minX ~ maxT-minT)。

更多信息:

我想我会添加一些稍微不相关的数据,以防有人处理过类似的数据集。

基本上,我正在处理表示由多个传感器记录和证实的时空事件的数据。涉及错误,因此仅包括满足错误阈值的事件。

这些数据集的时间跨度介于 5-20 年的数据之间。

对于真正的旧数据(> 8 年),事件通常在空间上非常密集,原因有两个:1)当时可用的传感器相对较少,2)传感器被放置在一起,以便附近的事件可以正确以低误差证实。可以记录更多事件,但它们的错误太高

对于较新的数据(<8 年),事件通常非常时间密集,原因恰恰相反:1)通常有许多传感器可用,2)传感器以固定间隔放置在更远的距离上。

因此,通常不能说数据集只有时间密集或空间密集(仅包含新数据的数据集除外)。

结论

我显然应该在这个网站上问更多问题。

我将在接下来测试几个解决方案,其中包括 4d kd-tree、3d kd-tree,然后是时间距离检查(由 Drew Hall 建议),以及我拥有的当前算法。另外,有人建议我使用另一种称为 TSP(时间空间分区)树的数据结构,它使用八叉树作为空间,在每个节点上使用 bsp 作为时间,所以我也可以对其进行测试。

假设我记得,我一定会发布一些关于不同时间/空间半径配置的分析基准。

谢谢大家

0 投票
2 回答
1154 浏览

perl - Perl - 如何访问另一个数组中保存的数组元素

又是嘿嘿嘿

我一直在努力让我的程序更容易维护。我有一个我声明的数组:

然后我继续将此@Pizza 数组放入另一个数组中,如下所示:

当我尝试通过 @food 属性访问 $p1 或 $p2 时,我得到一个返回值,如“Array{0x8001}”,它似乎是一个内存引用。我尝试的是这样的:

访问它的正确方法是什么?我希望不使用索引来简化程序的可读性。你们能指出我正确的方向吗?

问候,


这就是我想要做的:

我有几个数据库(为了讨论,这是一个例子)

数据库一
表一 (D1T1) | 第一栏 | 第二栏 | 第三栏 | 第四栏
表二 (D1T2) | 第一栏 | 第二栏 | 第三栏

数据库二
表一 (D2T1) | 第一栏 | 第二栏| 第三栏
表二 (D2T2) | 第一栏 | 第二栏| 第三栏
表三 (D2T2) | 第一栏 | 第二栏| 第三栏

在这两个数据库之间,存在与它们之间的特定记录相关的信息。我要做的是创建一个数组(每个数组将代表一个数据库)并插入变量(每个变量将代表一个 table.field。在数据源中)一旦我这样做了,我将创建一个数组来保存所有 teh 数组(代表数据库的那些)因为这个数组将代表两个数据库中的一个条目,然后我可以对其进行操作。例子:

@D1 = (t1.col1, t1.col4, t2.col1); @D2 = (t1.col1, t2.col1, t3.col2, t3.col3);

@rec = ( \@D1, \@D2 );

如果我想知道数据库 2 -> 表 2 -> 列 4 中保存了什么,该语句是什么?我应该改用哈希吗?我确实需要这个二维数组/哈希。

任何帮助深表感谢。

MC