c2047754c3
Compiler changes: * Change map assignment to use mapassign and assign value directly. * Change string iteration to use decoderune, faster for ASCII strings. * Change makeslice to take int, and use makeslice64 for larger values. * Add new noverflow field to hmap struct used for maps. Unresolved problems, to be fixed later: * Commented out test in go/types/sizes_test.go that doesn't compile. * Commented out reflect.TestStructOf test for padding after zero-sized field. Reviewed-on: https://go-review.googlesource.com/35231 gotools/: Updates for Go 1.8rc1. * Makefile.am (go_cmd_go_files): Add bug.go. (s-zdefaultcc): Write defaultPkgConfig. * Makefile.in: Rebuild. From-SVN: r244456
43 lines
1.2 KiB
Go
43 lines
1.2 KiB
Go
// Copyright 2016 The Go Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style
|
|
// license that can be found in the LICENSE file.
|
|
|
|
package sort_test
|
|
|
|
import (
|
|
"fmt"
|
|
"sort"
|
|
)
|
|
|
|
// This example demonstrates searching a list sorted in ascending order.
|
|
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)
|
|
}
|
|
// Output:
|
|
// found 6 at index 2 in [1 3 6 10 15 21 28 36 45 55]
|
|
}
|
|
|
|
// This example demonstrates searching a list sorted in descending order.
|
|
// The approach is the same as searching a list in ascending order,
|
|
// but with the condition inverted.
|
|
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)
|
|
}
|
|
// Output:
|
|
// found 6 at index 7 in [55 45 36 28 21 15 10 6 3 1]
|
|
}
|