Go 示例: 排序

Go 的 slices 包实现了对内置类型和用户定义类型的排序。我们先看看内置类型的排序。

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

排序函数是通用的,适用于任何有序的内置类型。有关有序类型的列表,请参见 cmp.Ordered

    strs := []string{"c", "a", "b"}
    slices.Sort(strs)
    fmt.Println("Strings:", strs)

排序 int 的示例。

    ints := []int{7, 2, 4}
    slices.Sort(ints)
    fmt.Println("Ints:   ", ints)

我们还可以使用 slices 包来检查切片是否已经按排序顺序排列。

    s := slices.IsSorted(ints)
    fmt.Println("Sorted: ", s)
}
$ go run sorting.go
Strings: [a b c]
Ints:    [2 4 7]
Sorted:  true

下一个示例:按函数排序