| | |
| | |
| | |
| |
|
| | package sort_test |
| |
|
| | import ( |
| | "fmt" |
| | "sort" |
| | "strings" |
| | ) |
| |
|
| | |
| | func ExampleSearch() { |
| | a := []int{1, 3, 6, 10, 15, 21, 28, 36, 45, 55} |
| | x := 6 |
| |
|
| | i := sort.Search(len(a), func(i int) bool { return a[i] >= x }) |
| | if i < len(a) && a[i] == x { |
| | fmt.Printf("found %d at index %d in %v\n", x, i, a) |
| | } else { |
| | fmt.Printf("%d not found in %v\n", x, a) |
| | } |
| | |
| | |
| | } |
| |
|
| | |
| | |
| | |
| | func ExampleSearch_descendingOrder() { |
| | a := []int{55, 45, 36, 28, 21, 15, 10, 6, 3, 1} |
| | x := 6 |
| |
|
| | i := sort.Search(len(a), func(i int) bool { return a[i] <= x }) |
| | if i < len(a) && a[i] == x { |
| | fmt.Printf("found %d at index %d in %v\n", x, i, a) |
| | } else { |
| | fmt.Printf("%d not found in %v\n", x, a) |
| | } |
| | |
| | |
| | } |
| |
|
| | |
| | func ExampleFind() { |
| | a := []string{"apple", "banana", "lemon", "mango", "pear", "strawberry"} |
| |
|
| | for _, x := range []string{"banana", "orange"} { |
| | i, found := sort.Find(len(a), func(i int) int { |
| | return strings.Compare(x, a[i]) |
| | }) |
| | if found { |
| | fmt.Printf("found %s at index %d\n", x, i) |
| | } else { |
| | fmt.Printf("%s not found, would insert at %d\n", x, i) |
| | } |
| | } |
| |
|
| | |
| | |
| | |
| | } |
| |
|
| | |
| | func ExampleSearchFloat64s() { |
| | a := []float64{1.0, 2.0, 3.3, 4.6, 6.1, 7.2, 8.0} |
| |
|
| | x := 2.0 |
| | i := sort.SearchFloat64s(a, x) |
| | fmt.Printf("found %g at index %d in %v\n", x, i, a) |
| |
|
| | x = 0.5 |
| | i = sort.SearchFloat64s(a, x) |
| | fmt.Printf("%g not found, can be inserted at index %d in %v\n", x, i, a) |
| | |
| | |
| | |
| | } |
| |
|
| | |
| | func ExampleSearchInts() { |
| | a := []int{1, 2, 3, 4, 6, 7, 8} |
| |
|
| | x := 2 |
| | i := sort.SearchInts(a, x) |
| | fmt.Printf("found %d at index %d in %v\n", x, i, a) |
| |
|
| | x = 5 |
| | i = sort.SearchInts(a, x) |
| | fmt.Printf("%d not found, can be inserted at index %d in %v\n", x, i, a) |
| | |
| | |
| | |
| | } |
| |
|
| | |
| | func ExampleSearchStrings() { |
| | a := []string{"apple", "banana", "cherry", "date", "fig", "grape"} |
| |
|
| | x := "banana" |
| | i := sort.SearchStrings(a, x) |
| | fmt.Printf("found %s at index %d in %v\n", x, i, a) |
| |
|
| | x = "coconut" |
| | i = sort.SearchStrings(a, x) |
| | fmt.Printf("%s not found, can be inserted at index %d in %v\n", x, i, a) |
| |
|
| | |
| | |
| | |
| | } |
| |
|