Конечно, мы можем использовать некоторый код, например std::advance(it, index), чтобы обеспечить доступ к индексу там, где это необходимо является итератором std::map. Однако производительность становится серьезной проблемой, когда std::map имеет большой размер, поэтому обход std::map происходит очень медленно.
Я надеюсь, что контейнер map может поддерживать следующее:
[*]Основные операции. Просто ведите себя как обычный std::map . Например, вставка, удаление, доступ к значениям по ключам. Ожидается сложность ниже O(N).
[*]Упорядоченность. Мы можем получить доступ к
Код: Выделить всё
i
Какова правильная структура данных или реализация для достижения этой цели? Спасибо!
Цель:
Хорошая реализация упорядоченной карты с хорошей поддержкой доступа к индексу< /strong> (возможно, с кешированием)? Это нормально, если все элементы не хранятся полностью в отсортированном порядке.
Подробнее здесь: https://stackoverflow.com/questions/782 ... dex-access