Не так уверен, как задать этот вопрос, но у меня есть 2 пути (до сих пор) для массива поискаЯичный массив против одного большого массива?
Вариант 1:
bool[][][] myJaggegArray;
myJaggegArray = new bool[120][][];
for (int i = 0; i < 120; ++i)
{
if ((i & 0x88) == 0)
{
//only 64 will be set
myJaggegArray[i] = new bool[120][];
for (int j = 0; j < 120; ++j)
{
if ((j & 0x88) == 0)
{
//only 64 will be set
myJaggegArray[i][j] = new bool[60];
}
}
}
}
Вариант 2:
bool[] myArray;
// [998520]
myArray = new bool[(120 | (120 << 7) | (60 << 14))];
Оба способа работают хорошо, но есть ли другой (лучший) способ быстрого поиска и какой из них вы бы взяли, если скорость и производительность - это вопрос?
Это может быть использован в chessboard implementation (0x88) и в основном это
[from][to][dataX]
для варианта 1
[(from | (to << 7) | (dataX << 14))]
для варианта 2
Я бы выбрал вариант, который проще всего использовать и читать. Вы можете всегда оптимизировать позже, когда ваш код закончен, и вы чувствуете, что он должен быть быстрее, чем он есть. – Nolonar
@Nolonar, на самом деле, я сейчас нахожусь – Fredou
Я бы использовал один большой массив WITH с методом геттера со всеми тремя параметрами. Быстро, легко читается и допускает простые будущие изменения. – Dariusz