什么阵列更好?

时间:2013-01-22 09:45:33

标签: arrays algorithm

我需要保存2D levelmap。那么我应该使用2D数组或简单数组并在条件内打破它吗? 一些例子:

var map2D[3][3]={
    [1 , 2 , 3 ],
    [1 , 2 , 3 ],
    [1 , 2 , 3 ],
}

var map[9]={
    1, 2, 3,
    4, 5, 6,
    7, 8, 9
}

那么哪种地图更容易阅读和演练?

3 个答案:

答案 0 :(得分:4)

如果您尝试表示2D数据 - 请使用2D数组。

如果有的话,性能增益/损失可以忽略不计,但 READABILITY 是这里的一个重要因素,并且程序员很可能会发现更容易遵循2D空间使用2D数组的逻辑。

答案 1 :(得分:2)

对于简单代码,请使用2D数组。

更好的性能使用1D阵列。 (这对于C ++和其他几种语言来说都是正确的)

答案 2 :(得分:0)

使用二维数组,因为它(通常)会为您提供更清晰的代码,避免索引计算。