Главная » C++ » list - Способы хранения некоторых чисел (подробности см. внутри) в переполнении стека
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 (который кажется лучше для произвольного доступа) до сих пор.
Вы могли бы использовать std::unordered_map держать это, то есть: std::unordered_map<int, std::array<int, 4>>,
Использование unordered_map обеспечит более быстрый доступ по ключу. От эта документация:
Контейнеры unordered_map быстрее, чем контейнеры карты, получают доступ к отдельным элементам по их ключу, хотя они, как правило, менее эффективны для итерации диапазона через подмножество их элементов.