Binary search implementation in golang
Binary search implementation in golang
This commit is contained in:
committed by
Aditya Bhargava
parent
67dc8de543
commit
429710a090
35
01_introduction_to_algorithms/Golang/BinarySearch.go
Normal file
35
01_introduction_to_algorithms/Golang/BinarySearch.go
Normal file
@@ -0,0 +1,35 @@
|
||||
package main
|
||||
|
||||
import "fmt"
|
||||
|
||||
func getBool(i, j int) bool {
|
||||
if i <= j{
|
||||
return true
|
||||
}else {
|
||||
return false
|
||||
}
|
||||
}
|
||||
|
||||
func checkBin(list []int, i int) bool {
|
||||
low := 0
|
||||
high := len(list) -1
|
||||
for ok := true;ok ;ok = getBool(low,high) {
|
||||
mid:= (low+high)/2
|
||||
if list[mid] == i{
|
||||
return true
|
||||
}
|
||||
if list[mid] < i{
|
||||
low = mid+1
|
||||
}else {
|
||||
high = mid -1
|
||||
}
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
func main() {
|
||||
fmt.Println(checkBin([]int{1, 2, 3, 4, 5}, 1)) // true
|
||||
fmt.Println(checkBin([]int{1, 2, 3, 4, 5}, -1)) //false
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user