Функция slices.IsSorted

Функция slices.IsSorted проверяет, отсортирован ли слайс по возрастанию. Она возвращает true, если слайс отсортирован, и false в противном случае. Первым параметром функция принимает слайс любого упорядоченного типа, который нужно проверить.

Важно отметить, что функция работает только со слайсами, элементы которых поддерживают сравнение оператором <. Для проверки слайсов со сложными типами используйте функцию slices.IsSortedFunc.

Синтаксис

goslices.IsSorted(slice)

Пример

Давайте проверим, отсортирован ли слайс чисел:

gopackage main

import (
  "fmt"
  "slices"
)

func main() {
  nums := []int{1, 2, 3, 4, 5}
  res := slices.IsSorted(nums)
  fmt.Println(res)
}

Результат выполнения кода:

gotrue

Пример

Давайте проверим, отсортирован ли слайс строк:

gopackage main

import (
  "fmt"
  "slices"
)

func main() {
  words := []string{"a", "b", "c", "d", "e"}
  res := slices.IsSorted(words)
  fmt.Println(res)
}

Результат выполнения кода:

gotrue

Пример

Давайте проверим неотсортированный слайс:

gopackage main

import (
  "fmt"
  "slices"
)

func main() {
  nums := []int{1, 3, 2, 4, 5}
  res := slices.IsSorted(nums)
  fmt.Println(res)
}

Результат выполнения кода:

gofalse

Смотрите также

  • функцию slices.Sort,
    которая сортирует слайс по возрастанию
  • функцию slices.IsSortedFunc,
    которая проверяет отсортированность с пользовательской функцией сравнения
  • функцию slices.SortFunc,
    которая сортирует слайс с пользовательской функцией сравнения
  • функцию slices.Reverse,
    которая изменяет порядок элементов слайса на обратный