亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Go / Golang 對指向結構的指針切片進行排序

Go / Golang 對指向結構的指針切片進行排序

Go
慕容森 2022-07-11 16:33:46
如何對指向結構的指針切片進行排序。我正在嘗試根據開始時間對切片進行排序。/** * Definition for an Interval. * type Interval struct { *     Start int *     End   int * } */func employeeFreeTime(schedule [][]*Interval) []*Interval {        fmt.Println("Schedule initial #", schedule)    sort.Slice(schedule, func(i,j int) bool{        return schedule[i].Start < schedule[j].Start    })        fmt.Println(schedule)    return nil    }
查看完整描述

2 回答

?
蕪湖不蕪

TA貢獻1796條經驗 獲得超7個贊

發送一片,而不是一片片,你可以很好地排序:


/**

* Definition for an Interval.

*/

 type Interval struct {

     Start int

     End   int

 }



func employeeFreeTime(schedule []*Interval) []*Interval {


    fmt.Println("Schedule initial #", schedule)

    sort.Slice(schedule, func(i,j int) bool{

        return schedule[i].Start < schedule[j].Start

    })


    fmt.Println(schedule)

    return nil


}


func main() {

    intervals :=  []*Interval {

        {

            Start: 10,

            End:   100,

        },

        {

            Start: 5,

            End:   100,

        },

    }

    employeeFreeTime(intervals)

}


查看完整回答
反對 回復 2022-07-11
?
動漫人物

TA貢獻1815條經驗 獲得超10個贊

如果您想對Interval切片切片中的所有 s 進行排序。


func employeeFreeTime(schedule [][]*Interval) []*Interval {


    var tempSlice []*Interval


    for _, slice := range schedule {

        tempSlice = append(tempSlice, slice...)

    }


    sort.Slice(tempSlice, func(i, j int) bool {

        return tempSlice[i].Start < tempSlice[j].Start

    })


    return tempSlice

}


查看完整回答
反對 回復 2022-07-11
  • 2 回答
  • 0 關注
  • 129 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號