Для быстрой вставки уникальных пар значений типа uint64_t (u64) в C++ можно использовать хэш-таблицу (unordered_map) или ассоциативный массив (map).
1. Хэш-таблица (unordered_map):
Хэш-таблица позволяет быстро находить уникальные пары по их ключу за константное время. Для этого вы можете использовать пару как ключ в unordered_map, где первым элементом будет первое значение типа uint64_t, а вторым - второе значение типа uint64_t. Пример:
std::unordered_map<std::pair<uint64_t, uint64_t>, int> uniquePairs; uniquePairs[{value1, value2}] = count;
2. Ассоциативный массив (map):
Ассоциативный массив также позволяет хранить уникальные пары с ключами-парами значений типа uint64_t. Однако, в отличие от хэш-таблицы, ассоциативный массив хранит элементы в отсортированном порядке по ключу, что может быть полезно в некоторых ситуациях. Пример:
std::map<std::pair<uint64_t, uint64_t>, int> uniquePairs; uniquePairs[{value1, value2}] = count;
При выборе между хэш-таблицей и ассоциативным массивом следует учитывать следующее:
- Хэш-таблица более эффективна при поиске элементов, но может потребовать больше памяти.
- Ассоциативный массив имеет дополнительные возможности, такие как обход элементов в отсортированном порядке.
Выбор конкретной структуры данных зависит от вашего конкретного случая использования и требований к производительности вашего приложения.