获得徽章 0
赞了这篇文章
Go标准库的sort包的Sort()就是常用的排序函数,该函数定义如下:
func Sort(data Interface) {
n := data.Len()
quickSort(data, 0, n, maxDepth(n))
}
可以看到,Sort函数接收一个Inferface类型的参数,Interface类型是一个接口,其定义如下:
type Interface interface {
Len() int
Less(i, j int) bool
Swap(i, j int)
}
Interface类型的Len方法用于返回长度,Less方法用于元素比较大小,Swap方法实现元素位置交换,任何拥有这个方法的类型,都可以传递给sort.Sort进行排序。
func Sort(data Interface) {
n := data.Len()
quickSort(data, 0, n, maxDepth(n))
}
可以看到,Sort函数接收一个Inferface类型的参数,Interface类型是一个接口,其定义如下:
type Interface interface {
Len() int
Less(i, j int) bool
Swap(i, j int)
}
Interface类型的Len方法用于返回长度,Less方法用于元素比较大小,Swap方法实现元素位置交换,任何拥有这个方法的类型,都可以传递给sort.Sort进行排序。
展开
评论
点赞
赞了这篇文章
赞了这篇文章
赞了这篇文章