list — Способы хранения некоторых чисел (подробности см. внутри) в переполнении стека

Мне нужно хранить некоторые цифры, как это

key => (four integers, between 0 to 30 (maxmimum), -1 means NULL)
125 => (1,3,5,20)
80 => (4,2,-1,-1)
20 => (10,12,21,3)
...

Мне нужен самый быстрый произвольный доступ. На самом деле это будет таблица данных для моего приложения. Я думал о хранении этих значений в заголовке и вызывал их везде, где мне нужно. Я в основном занимаюсь написанием сценариев (PHP / Python), и там у меня есть массивы / словари. Но как насчет C ++?

Я нашел map и unordered_map (который кажется лучше для произвольного доступа) до сих пор.

1

Решение

Вы могли бы использовать std::unordered_map держать это, то есть: std::unordered_map<int, std::array<int, 4>>,

Использование unordered_map обеспечит более быстрый доступ по ключу. От эта документация:

Контейнеры unordered_map быстрее, чем контейнеры карты, получают доступ к отдельным элементам по их ключу, хотя они, как правило, менее эффективны для итерации диапазона через подмножество их элементов.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]