Если вам нужен гарантированный заказ, это , а не структура данных для вас. На самом деле, если вы собираетесь выполнять итерацию, unordered_map/set
для вас тоже не структура данных.
Для итерации, std::map
окажется лучшей структурой данных, так как гониг от одного узла к другому менее алгоритмически сложен. И порядок итерации для объектов в std::map
гарантирован спецификацией (и фактически является определяющим свойством самой структуры). (Это все предполагает, что вы используете один и тот же оператор сравнения, очевидно). В std::map
.
нет хеширования
Достаточно сказать, звучит так, будто вы тут не туда лаете. unordered_map
обычно следует использовать для таких преимуществ, как поиск O (1), а не для хранения списка объектов и последующей их итерации по ним. определенно не следует использовать, если вы пытаетесь получить детерминированный порядок итерации.