mirror of
https://github.com/unknwon/the-way-to-go_ZH_CN.git
synced 2025-08-11 23:08:34 +08:00
7.6.6
This commit is contained in:
@@ -91,4 +91,23 @@ func Compare(a, b[]byte) int {
|
||||
|
||||
## 7.6.6 搜索及排序切片和数组
|
||||
|
||||
181
|
||||
标准库提供了 `sort` 包来实现常见的搜索和排序操作。您可以使用 `sort` 包中的函数 `func Ints(a []int)` 来实现对 int 类型的切片排序。例如 `sort.Ints(arri)`,其中变量 arri 就是需要被升序排序的数组或切片。为了检查某个数组是否已经被排序,可以通过函数 `IntsAreSorted(a []int) bool` 来检查,如果返回 true 则表示已经被排序。
|
||||
|
||||
类似的,可以使用函数 `func Float64s(a []float64)` 来排序 float64 的元素,或使用函数 `func Strings(a []string)` 排序字符串元素。
|
||||
|
||||
想要在数组或切片中搜索一个元素,该数组或切片必须先被排序(因为标准库的搜索算法使用的是二分法)。然后,您就可以使用函数 `func SearchInts(a []int, n int) int` 进行搜索,并返回对应结果的索引值。
|
||||
|
||||
当然,还可以搜索 float64 和字符串:
|
||||
|
||||
```go
|
||||
func SearchFloat64s(a []float64, x float64) int
|
||||
func SearchStrings(a []string, x string) int
|
||||
```
|
||||
|
||||
您可以通过查看 [官方文档](http://golang.org/pkg/sort/) 来获取更详细的信息。
|
||||
|
||||
这就是如何使用 `sort` 包的方法,我们会在第 11.6 节对它的细节进行深入,并实现一个属于我们自己的版本。
|
||||
|
||||
## 7.6.7 append 函数常见操作
|
||||
|
||||
182
|
||||
|
Reference in New Issue
Block a user