Here is an example implementation of binary search in Go:
package main import ( "fmt" ) // binarySearch searches for a given target element in the sorted input slice func binarySearch(input []int, target int) int { left := 0 right := len(input) - 1 for left <= right { mid := (left + right) / 2 if input[mid] == target { return mid } else if input[mid] < target { left = mid + 1 } else { right = mid - 1 } } return -1 // target not found } func main() { input := []int{1, 2, 3, 4, 5, 6, 7, 8, 9, 10} target := 7 index := binarySearch(input, target) if index == -1 { fmt.Println("Target not found") } else { fmt.Printf("Target found at index %d\n", index) } }
In this implementation, binarySearch()
function takes two arguments, a sorted integer slice input
, and a target
element to search for. It then performs the binary search algorithm on the slice to find the index of the target element. If the target is found, it returns its index, otherwise it returns -1. In the main()
function, we create an example slice and call the binarySearch()
function to search for the target element.
Leave a Reply
You must be logged in to post a comment.