【发布时间】:2013-02-24 03:09:04
【问题描述】:
我想用 c# 制作数独。我应该使用锯齿状数组还是多维数组。为什么?
我知道对于简单的数组逻辑(例如数独),锯齿状数组更快、更高效。但也许还有其他论点?
提前致谢。
编辑:我需要对数独执行一些求解方法。就像回溯算法一样。我发现多维数组有更好的语法。
我想我的问题是:哪个最容易使用、实现和修改?
【问题讨论】:
-
数独使用 9x9-fields 板。在这种情况下,我不明白为什么要使用锯齿状数组。
-
您要存储数独启动模式和完整的解决方案吗?如果您只打算存储起始模式,而数组中没有填充数字,则锯齿状数组可能是有益的。
-
您已经回答了您的问题。在 .NET 中更喜欢多维数组的唯一原因是样式的选择。否则,锯齿状数组就是要走的路。在这里查看这个精彩的讨论:stackoverflow.com/questions/597720/…
-
或者两者都不是? 2D 数组可以轻松访问每个单元格,但不能方便地处理整行、列或 3x3 区域(无需遍历 9 个单元格中的每一个并复制到新结构)。
-
如果你同意少一个字符更简单,那就用多维数组,别想了。
标签: c# multidimensional-array jagged-arrays