Без дополнительной информации о вашей карте,
если вы намереваетесь использовать много ключей, большой массив, как предлагалось ранее, будет достаточно легок в обращении, поскольку не будет коллизий, но если вы не собираетесь использовать всю память, это может быть расточительным ,
если вы намереваетесь использовать изрядное количество данных, но недостаточно, чтобы было слишком много коллизий хешей, std :: unordered_map амортизировало O (1) поисков, и если вас не волнует порядок, в котором они хранятся в том, что могло бы быть хорошим предположением.
если вы используете не много данных и хотите, чтобы они были гибкими, std :: vector - хороший выбор
Поскольку мы знаем только то, что это карта от uin16_t до uint16_t, лучшего ответа нет.