Если вам нужен алфавитный порядок, используйте Trie или DAWG (как я рекомендовал в вашем последнем вопросе). Для порядка, кроме алфавитного, я бы использовал двоичное дерево (std :: map в C ++ обычно реализуется с красно-черным деревом).
Реализация хеш-контейнера с сохранением порядка звучит как мать всех ранних оптимизаций.