package sort
import "sort"
sort包提供了排序切片和用户自定义数据集的函数。
功能 :排序
package main
import "fmt"
import "sort"
type IntSlice []int
func (s IntSlice) Len() int { return len(s) }
func (s IntSlice) Swap(i, j int){ s[i], s[j] = s[j], s[i] }
func (s IntSlice) Less(i, j int) bool { return s[i] < s[j] }
func main() {
a := []int{4,3,2,1,5,9,8,7,6}
sort.Sort(IntSlice(a))
fmt.Println("After sorted: ", a) //After sorted: [1 2 3 4 5 6 7 8 9]
// 可以直接对int切片进行排序
b := []int{3, 5, 4, -1, 9, 11, -14}
sort.Ints(b)
fmt.Println(b)
// 也可以对string进行排序
ss := []string{"surface", "ipad", "mac pro", "mac air", "think pad", "idea pad"}
sort.Strings(ss)
fmt.Println(ss)
sort.Sort(sort.Reverse(sort.StringSlice(ss)))
fmt.Printf("After reverse: %v\n", ss)
//逆向排序
c := []int{4,3,2,1,5,9,8,7,6}
sort.Sort(sort.Reverse(sort.IntSlice(c)))
fmt.Println("After reversed: ", c)
}