Source file
src/sort/example_search_test.go
Documentation: sort
1
2
3
4
5 package sort_test
6
7 import (
8 "fmt"
9 "sort"
10 )
11
12
13 func ExampleSearch() {
14 a := []int{1, 3, 6, 10, 15, 21, 28, 36, 45, 55}
15 x := 6
16
17 i := sort.Search(len(a), func(i int) bool { return a[i] >= x })
18 if i < len(a) && a[i] == x {
19 fmt.Printf("found %d at index %d in %v\n", x, i, a)
20 } else {
21 fmt.Printf("%d not found in %v\n", x, a)
22 }
23
24
25 }
26
27
28
29
30 func ExampleSearch_descendingOrder() {
31 a := []int{55, 45, 36, 28, 21, 15, 10, 6, 3, 1}
32 x := 6
33
34 i := sort.Search(len(a), func(i int) bool { return a[i] <= x })
35 if i < len(a) && a[i] == x {
36 fmt.Printf("found %d at index %d in %v\n", x, i, a)
37 } else {
38 fmt.Printf("%d not found in %v\n", x, a)
39 }
40
41
42 }
43
44
45 func ExampleSearchFloat64s() {
46 a := []float64{1.0, 2.0, 3.3, 4.6, 6.1, 7.2, 8.0}
47
48 x := 2.0
49 i := sort.SearchFloat64s(a, x)
50 fmt.Printf("found %g at index %d in %v\n", x, i, a)
51
52 x = 0.5
53 i = sort.SearchFloat64s(a, x)
54 fmt.Printf("%g not found, can be inserted at index %d in %v\n", x, i, a)
55
56
57
58 }
59
60
61 func ExampleSearchInts() {
62 a := []int{1, 2, 3, 4, 6, 7, 8}
63
64 x := 2
65 i := sort.SearchInts(a, x)
66 fmt.Printf("found %d at index %d in %v\n", x, i, a)
67
68 x = 5
69 i = sort.SearchInts(a, x)
70 fmt.Printf("%d not found, can be inserted at index %d in %v\n", x, i, a)
71
72
73
74 }
75
View as plain text