sort 排序

2019-01-21  本文已影响0人  遇见你_17be

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)

}

上一篇 下一篇

猜你喜欢

热点阅读