Go за Прикладом: Сортування

Work in Progress / Сайт в процесі розробки

Пакет sort реалізує сортування для вбудованих та визначених користувачами типів. Спочатку познайомимось з сортуванням вбудованих типів.

package main
import "fmt"
import "sort"
func main() {

Методи сортування працюють лише з окремими вбудованими типами, ось один з прикладів - сортування рядків. Зауважте що сортування проходить “на місці”, тобто сортується власне переданий зріз, а новий не створюється і не повертається.

    strs := []string{"c", "a", "b"}
    sort.Strings(strs)
    fmt.Println("Рядки:      ", strs)

Сортування цілих чисел не дуже відрізняється від рядків.

    ints := []int{7, 2, 4}
    sort.Ints(ints)
    fmt.Println("Цілі числа: ", ints)

Ми також можемо використати sort щоб перевірити чи зріз вже в сортованому порядку.

    s := sort.IntsAreSorted(ints)
    fmt.Println("Сортовано:  ", s)
}

Запуск нашої программи призведе до друку сортованих зрізів рядків та цілих чисел, та true як результат виконання перевірки видсортованості зрізу методом IntsAreSorted.

$ go run sorting.go
Рядки:       [a b c]
Цілі числа:  [2 4 7]
Сортовано:   true

Наступний приклад: Сортування функціями.