[Go] スライスをソートする
作成日: 2021年07月07日
sort
パッケージの Slice
関数を使うと、スライスをソートすることができます。第 1 引数にはソートしたいスライスを、第 2 引数には比較を行う関数を渡します。下記の例では、配列 arr
を昇順でソートしています。Slice
関数は安定ソートではない(同等なデータのソート前の順序が、ソート後も保存されない)ことに注意してください。
package main
import (
"fmt"
"sort"
)
func main() {
arr := []int{10, 3, 15, 1, 22, 11}
sort.Slice(arr, func(i, j int) bool {
return arr[i] < arr[j]
})
fmt.Println(arr)
}
実行結果は下記のとおりです。
[1 3 10 11 15 22]