美文网首页
Go中常用子函数

Go中常用子函数

作者: Eden0503 | 来源:发表于2022-02-01 21:07 被阅读0次

排序

    sort.Ints([]int{5, 4, 3})
    sort.Sort(sort.Reverse(sort.IntSlice{3, 2, 1}))
// input: [ [5 10] [0 30] [15 20]]    
// output: [[0 30] [5 10] [15 20]]  
    sort.Slice(intervals, func(i, j int) bool {
        return intervals[i][0] < intervals[j][0]
    })
    sort.Slice(intervals, func(i, j int) bool {
        if intervals[i][0] == intervals[j][0] {
            return intervals[i][1] < intervals[j][1]
        }
        return intervals[i][0] < intervals[j][0]
    })
sort.Sort(&Sorter{data: intervals})

type Sorter struct {
    data [][]int
}

func (s *Sorter) Len() int {
    return len(s.data)
}
func (s *Sorter) Less(i, j int) bool {
    return s.data[i][0] <= s.data[j][0]
}
func (s *Sorter) Swap(i, j int) {
    s.data[i], s.data[j] = s.data[j], s.data[i]
}

相关文章

网友评论

      本文标题:Go中常用子函数

      本文链接:https://www.haomeiwen.com/subject/cmclkrtx.html