Функция sort.SliceIsSorted
Функция sort.SliceIsSorted проверяет,
отсортирован ли срез в порядке возрастания согласно
пользовательской функции сравнения. Она возвращает
true, если срез отсортирован, и
false в противном случае. Первым параметром
функция принимает срез, вторым - функцию сравнения,
которая должна возвращать true, если элемент с
индексом i должен стоять перед элементом с
индексом j.
Синтаксис
sort.SliceIsSorted(slice, func(i, j int) bool {
return slice[i] < slice[j]
})
Пример
Давайте проверим, отсортирован ли срез целых чисел по возрастанию:
package main
import (
"fmt"
"sort"
)
func main() {
nums := []int{1, 2, 3, 4, 5}
res := sort.SliceIsSorted(nums, func(i, j int) bool {
return nums[i] < nums[j]
})
fmt.Println(res)
}
Результат выполнения кода:
true
Пример
Давайте проверим, отсортирован ли срез целых чисел по убыванию:
package main
import (
"fmt"
"sort"
)
func main() {
nums := []int{5, 4, 3, 2, 1}
res := sort.SliceIsSorted(nums, func(i, j int) bool {
return nums[i] > nums[j]
})
fmt.Println(res)
}
Результат выполнения кода:
true
Пример
Давайте проверим неотсортированный срез строк:
package main
import (
"fmt"
"sort"
)
func main() {
words := []string{"apple", "banana", "cherry", "date"}
res := sort.SliceIsSorted(words, func(i, j int) bool {
return words[i] < words[j]
})
fmt.Println(res)
}
Результат выполнения кода:
true
Смотрите также
-
функцию
sort.Slice,
которая сортирует срез по пользовательской функции -
функцию
sort.IntsAreSorted,
которая проверяет отсортированность среза целых чисел -
функцию
sort.StringsAreSorted,
которая проверяет отсортированность среза строк -
функцию
sort.Float64sAreSorted,
которая проверяет отсортированность среза чисел с плавающей точкой