Имеются элементы, каждый из которых имеет уникальный идентификатор (в простейшем случае — их адрес в памяти). Требуется создать идентификатор для пары элементов, но так чтобы его значение не зависело от порядка в котором они берутся. Можно было бы использовать XOR, но есть вероятность что его значение совпадет с другой парой. А если слепить идентификаторы вместо с помощью OR, то результат будет зависеть от порядка.
Здравствуйте, 777777w, Вы писали:
7>Имеются элементы, каждый из которых имеет уникальный идентификатор (в простейшем случае — их адрес в памяти). Требуется создать идентификатор для пары элементов, но так чтобы его значение не зависело от порядка в котором они берутся. Можно было бы использовать XOR, но есть вероятность что его значение совпадет с другой парой. А если слепить идентификаторы вместо с помощью OR, то результат будет зависеть от порядка.
В предположении, что идентификаторы имеют одинаковую длину
MIN(A,B) CONCAT MAX(A,B)
Если это не так — добавь разделитель между ними.
With best regards
Pavel Dvorkin
Re: Создать уникальный идентификаторов для пары элементов
Здравствуйте, 777777w, Вы писали:
7>Имеются элементы, каждый из которых имеет уникальный идентификатор (в простейшем случае — их адрес в памяти). Требуется создать идентификатор для пары элементов, но так чтобы его значение не зависело от порядка в котором они берутся. Можно было бы использовать XOR, но есть вероятность что его значение совпадет с другой парой. А если слепить идентификаторы вместо с помощью OR, то результат будет зависеть от порядка.
pair.id=[min(a.id,b.id),max(a.id,b,id)]
Если есть N уникальных элементов. То уникальных пар N*(N-1)