Функция sort.IsSorted

Функция sort.IsSorted проверяет, отсортирован ли слайс по возрастанию. Она принимает один параметр - интерфейс sort.Interface, который реализуют типы sort.IntSlice, sort.Float64Slice и sort.StringSlice. Функция возвращает true, если слайс отсортирован, и false в противном случае.

Синтаксис

gosort.IsSorted(data)

Пример с целыми числами

Проверим, отсортирован ли слайс целых чисел по возрастанию:

gopackage main

import (
  "fmt"
  "sort"
)

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

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

gotrue

Пример с числами с плавающей точкой

Проверим, отсортирован ли слайс чисел с плавающей точкой:

gopackage main

import (
  "fmt"
  "sort"
)

func main() {
  floats := []float64{1.1, 2.2, 1.5, 3.3}
  res := sort.IsSorted(sort.Float64Slice(floats))
  fmt.Println(res)
}

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

gofalse

Пример со строками

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

gopackage main

import (
  "fmt"
  "sort"
)

func main() {
  words := []string{"apple", "banana", "cherry"}
  res := sort.IsSorted(sort.StringSlice(words))
  fmt.Println(res)
}

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

gotrue

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

  • функцию sort.IntsAreSorted,
    которая проверяет, отсортирован ли слайс целых чисел
  • функцию sort.Float64sAreSorted,
    которая проверяет, отсортирован ли слайс чисел с плавающей точкой
  • функцию sort.StringsAreSorted,
    которая проверяет, отсортирован ли слайс строк
  • функцию sort.Sort,
    которая сортирует слайс по возрастанию