You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
В стандарте есть свободные функции для работы с heap структурой данных: make_heap, push_heap, pop_heap.
Предлагаю добавить класс с необходимом набором методов для работы со структурой, как например для flat_map, priority_queue, etc.
Преимущества:
Единообразие. Для flat_map, priority_queue имеются классы.
Более безопасно. Класс инкапсулирует контейнер, сохраняет инварианты при вставке. Пользователь может добавить элемент через push_back вместо push_heap.
В стандарте есть свободные функции для работы с heap структурой данных: make_heap, push_heap, pop_heap.
Предлагаю добавить класс с необходимом набором методов для работы со структурой, как например для flat_map, priority_queue, etc.
Преимущества:
Примеры использования
В ClickHouse используются эти методы, хотя и не часто. https://github.com/search?q=repo%3AClickHouse%2FClickHouse+std%3A%3Apush_heap&type=code
Полезные ссылки:
The text was updated successfully, but these errors were encountered: