Источник: Nuances of Programming Хеш-карты — невероятно полезная структура данных. Сопоставляя уникальные ключи с потенциально неуникальными значениями, они имеют постоянное время поиска O(1) и применяются в самых разных ситуациях. Но есть и недостаток: обычно их нельзя сортировать. В современных языках программирования эту проблему решают по-разному. Так, в Python (начиная с версии 3.7) появилась сортировка хеш-карты с помощью лямбда-функции. А на Go используют обычные интерфейсы и пакет sort. Интерфейс sort работает с различными структурами данных, в том числе хеш-картами: получается элегантная сортировка в несколько простых этапов. 1. Создаем пользовательские типы для представления пар и их списков Чтобы хранить отсортированные значения, создадим два пользовательских типа данных для ключей и значений хеш-карты. В структуре Pair свойства Key (ключ) и Value (значение) соответствуют базовым типам, находящимся в хеш-карте. Например, если хеш-карта инициализирована как map[string]bool{
Думаете, хеш-карты нельзя отсортировать? Еще как можно!
5 октября 20215 окт 2021
45
3 мин