Функция sort.SearchFloat64s
Функция sort.SearchFloat64s выполняет бинарный поиск числа x в отсортированном слайсе чисел с плавающей точкой.
Она возвращает индекс позиции, куда нужно вставить x для сохранения порядка сортировки.
Если число найдено, возвращается его индекс, иначе возвращается индекс, по которому число должно быть вставлено.
Первым параметром функция принимает слайс []float64, вторым - искомое число float64.
Синтаксис
sort.SearchFloat64s(slice, x)
Пример
Давайте найдем число 5.5 в отсортированном слайсе чисел:
package main
import (
"fmt"
"sort"
)
func main() {
numbers := []float64{1.2, 3.4, 5.5, 7.8, 9.1}
x := 5.5
index := sort.SearchFloat64s(numbers, x)
fmt.Printf("Found %v at index %v\n", x, index)
}
Результат выполнения кода:
"Found 5.5 at index 2"
Пример
Давайте проверим, что происходит, если число не найдено в слайсе:
package main
import (
"fmt"
"sort"
)
func main() {
numbers := []float64{1.2, 3.4, 5.5, 7.8, 9.1}
x := 6.0
index := sort.SearchFloat64s(numbers, x)
fmt.Printf("Insert %v at index %v\n", x, index)
}
Результат выполнения кода:
"Insert 6 at index 3"
Пример
Давайте найдем число, которое находится в начале слайса:
package main
import (
"fmt"
"sort"
)
func main() {
numbers := []float64{1.2, 3.4, 5.5, 7.8, 9.1}
x := 1.2
index := sort.SearchFloat64s(numbers, x)
fmt.Printf("Found %v at index %v\n", x, index)
}
Результат выполнения кода:
"Found 1.2 at index 0"
Смотрите также
-
функцию
sort.SearchInts,
которая выполняет поиск в слайсе целых чисел -
функцию
sort.SearchStrings,
которая выполняет поиск в слайсе строк -
функцию
sort.Float64sAreSorted,
которая проверяет, отсортирован ли слайс чисел с плавающей точкой -
функцию
sort.Float64s,
которая сортирует слайс чисел с плавающей точкой по возрастанию