美文网首页
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