24 lines
324 B
Go
24 lines
324 B
Go
|
package util
|
||
|
|
||
|
import "sort"
|
||
|
|
||
|
type SortFunc struct {
|
||
|
Lenf func() int
|
||
|
Lessf func(i, j int) bool
|
||
|
Swapf func(i, j int)
|
||
|
}
|
||
|
|
||
|
var _ sort.Interface = SortFunc{}
|
||
|
|
||
|
func (s SortFunc) Len() int {
|
||
|
return s.Lenf()
|
||
|
}
|
||
|
|
||
|
func (s SortFunc) Less(i, j int) bool {
|
||
|
return s.Lessf(i, j)
|
||
|
}
|
||
|
|
||
|
func (s SortFunc) Swap(i, j int) {
|
||
|
s.Swapf(i, j)
|
||
|
}
|