Ну, чтобы получить гарантированный уникальный значение, вы будет эффективно иметь полное содержимое массива. Вы можете использовать хэш, который скажет вам, если один массив равен , возможно, так же, как и другой, но вы не можете получить уникальность без преобразования без потерь.
В качестве примера простой хэш-функции:
int hash = 17;
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
hash = hash * 31 + array[i, j];
}
}
return hash;
Теперь две разные массивы будут очень вероятно имеют различные хеш - но они не могут.
Сколько места вы готовы потратить на идентификатор и насколько велика каждая величина в массиве? Чем больше информации вы готовы вставить в идентификатор, тем меньше вероятность того, что вы получите ложные срабатывания ... пока не дойдете до сцены, где идентификатор такой же большой, как массив, после чего вы можете убедиться, ll имеют нет ложных срабатываний, конечно.
вам нужно создать уникальный хэш, или просто способ сказать массивы друг от друга делать? Ваш заголовок и текст вопроса предлагают разные вопросы ... – Oded
Является ли положение целых чисел важным? –
@Oded: Мне нужен уникальный хеш. – Homam