Sort包的使用
Sort包的简介
Go语言标准库sort包中实现了3种基本的排序算法:插入排序、快排和堆排序。和其他语言中一样, 这三种方式都是不公开的,他们只在sort包内部使用。所以用户在使用sort包进行排序时无需考虑使 用那种排序方式,sort.Interface定义的三个方法:获取数据集合长度的Len()方法、比较两个元素 大小的Less()方法和交换两个元素位置的Swap()方法,就可以顺利对数据集合进行排序。sort包会 根据实际数据自动选择高效的排序算法。
Sort包的使用
Sort中有给基本数据类型如 int float 和string自定义sort
[]int 的排序
1 |
|
[]string的排序
1 |
|
[]float64 的排序
1 |
|
二分查找
go语言中的二分查找算法用来搜索指定已经排完序的切片[0:n]中值为Value的元素的下标,如果有多个相同Value的元素,则返回第一个值为Value的元素的下标;如果不存值为Value的元素,则返回切片的长度 n
1 |
|
自定义排序
自定义sort.Interface排序 ,此时我们 需要重写 Swap Less Len 方法
1 |
|
使用 sort.Slice
1 |
|
Sort包的使用
http://example.com/2023/09/23/Sort包的使用/