package main
import (
"fmt"
)
func main() {
var array = []int{3, 5, 2, 89, 65, 65, 887, 345}
index := traveSearch(array, 89)
fmt.Println(index)
var array2 = []int{3, 5, 65, 887, 999, 1345}
index2 := binarySearch(array2, 999)
fmt.Println(index2)
}
//遍历查找
func traveSearch(array []int, value int) int {
for k, v := range array {
if value == v {
return k
}
}
return -1
}
//二分查找
func binarySearch(array []int, value int) int {
var begin, end, mid int
end = len(array) - 1
begin = 0
for begin <= end {
mid = (begin + end) / 2
if array[mid] > value {
end = mid - 1
} else if array[mid] < value {
begin = mid + 1
} else {
return mid
}
}
return -1
}