- package main
-
- import (
- "fmt"
- "sort"
- )
-
- func main() {
- // u := []uint{1, 2, 3}
- // sort.Sort(numInts(u))
- // fmt.Printf("u: %v\n", u)
- // floaa()
- num()
- }
-
- type numInts []uint //无符号切片
-
- func (n numInts) Len() int {
- return len(n)
- }
-
- func (n numInts) Less(i, j int) bool {
- fmt.Println(i, j, n[i] < n[j], n)
- return n[i] < n[j]
- }
- func (n numInts) Swap(i, j int) {
- n[i], n[j] = n[j], n[i]
- }
-
- // 小数类型的切片排序
- func floaa() {
-
- f := []float64{1.1, 2.2, 6.6, 4.4, 8.8}
- sort.Float64s(f)
- fmt.Printf("f: %v\n", f)
- }
-
- // int类型
- func num() {
- i := []int{1, 3, 6, 7, 8, 9, 5, 4}
- sort.Ints(i)
- fmt.Printf("i: %v\n", i)
- }