На этом шаге рассмотрим функции пакета sort в Go.
Пакет sort из стандартной библиотеки содержит функции для сортировки срезов с числами типа int, float64 и строками, для проверки сортировки таких срезов и для поиска элементов в отсортированных срезах с использованием быстрого алгоритма двоичного поиска. В пакете также имеются универсальные функции sort.Sort() и sort.Search(), упрощающие работу с данными пользовательских типов. Эти функции перечислены в табл. 1.
Функция | Описание/результат |
---|---|
sort.Float64s(fs) | Сортирует срез fs типа []float64 в порядке возрастания |
sort.Float64sAreSorted(fs) | Возвращает true, если срез fs типа []float64 отсортирован |
sort.Ints(is) | Сортирует срез is типа []int в порядке возрастания |
sort.IntsAreSorted(is) | Возвращает true, если срез is типа []int отсортирован |
sort.IsSorted(d) | Возвращает true, если срез d типа sort.Interface отсортирован |
sort.Search(size, fn) | Возвращает номер позиции в отсортированном срезе, в области длиной size, где функция fn с сигнатурой func(int) bool возвращает true |
sort.SearchFloat64s(fs, f) | Возвращает номер позиции элемента f типа float64 в отсортированном срезе fs типа []float64 |
sort.SearchInts(is, i) | Возвращает номер позиции элемента i типа int в отсортированном срезе is типа []int |
sort.SearchStrings(ss, s) | Возвращает номер позиции элемента s типа string в отсортированном срезе ss типа []string |
sort.Sort(d) | Сортирует срез d типа sort.Interface |
sort.Strings(ss) | Сортирует срез ss типа []string в порядке возрастания |
sort.StringsAreSorted(ss) | Возвращает true, если срез ss типа []string отсортирован |
На следующем шаге продолжим рассматривать сортировку и поиск по срезам в Go.