【发布时间】:2012-12-27 20:10:35
【问题描述】:
我们可以声明一个锯齿状数组,其中一些是一维的,一些是二维或多维数组。有什么建议。
int[][,] jaggedArray1 = new int[3][,]
{
new int[,],
new int[,],
new int[,]
};
int[][] = new int[3][]
{
new int[],
new int[],
new int[]
};
我们可以把这两者做成一个数组吗?
示例
我在这里给出最合适的数独例子。 :)
假设我们有一个二维字符串数组(比如网格),分为子网格。 我正在显示一些数据。
4x4 网格。分为4个子网格。每个元素都是一个包含在 " "
中的字符串"1,3,", "2,3" "1,3,", "2,3"
"1,4,", "4,1" "1,3,", "2,3"
"1,3,", "2,3" "1,3,", "2,3"
"1,4,", "4,1" "1,3,", "2,3"
如果从第 1 行、第 1 列和第 1 个区域中删除“1”。我们如何跟踪或维护已更改的行、已更改的列以及已更改的每个字符串值的 LOG。
以最低的空间复杂度给出建议。
由于我们无法制作另一个重复的二维数组,因为将会浪费大量空间。
在我看来,我需要 3 个数组。
一维数组将记录更改的行 一维数组将记录 COLS CHANGED 二维数组将记录 CELL VALUE CHANGED
如果我们将所有这三个数组转换为一个。工作会轻松很多。
我希望我解释了这个场景。我尽力了:D。
【问题讨论】:
-
否;那是不可能的。而且,这听起来像是一个可怕的想法。
-
谢谢 SLaks,我同意,你说的完全正确。我们可以使用这种预定义的锯齿状数组规则,但我们是否可以让我们自己的锯齿状数组类型在我们的自定义数据类型中均值......坦率地说......任何开放的建议。
-
你想要完成什么?
-
好的,我正在用简短的例子编辑这个问题。
-
@SLaks 请把你的聪明想法再次放在问题上。
标签: arrays c#-4.0 multidimensional-array jagged-arrays