diff --git a/Searching/go/binary_search.go b/Searching/go/binary_search.go new file mode 100644 index 0000000..69847e8 --- /dev/null +++ b/Searching/go/binary_search.go @@ -0,0 +1,28 @@ +// Binary Search in Golang +package main +import "fmt" + +func binarySearch(target int, array []int) int { + + low := 0 + high := len(array) - 1 + + for low <= high{ + middle:= (high-low) / 2 + low + + if array[middle] == target{ + return middle + } + if array[middle] < target { + low = middle + 1 + }else{ + high = middle - 1 + } + } + return -1 +} + +func main(){ + items := []int{1,2, 4, 8, 16, 32, 64} + fmt.Println(binarySearch(64, items)) +} \ No newline at end of file diff --git a/Searching/go/linear_search.go b/Searching/go/linear_search.go new file mode 100644 index 0000000..e7d46b4 --- /dev/null +++ b/Searching/go/linear_search.go @@ -0,0 +1,18 @@ +// Linear Search in Golang +package main +import "fmt" + +func linearSearch(target int, array []int) int { + + for i:=0; i array[i] { + array[j], array[i] = array[i], array[j] + } + } + } + return array +} + +func main() { + items := []int{8, 6 , 2, -9, 128, 48} + res := insertionSort(items) + for _, val := range res { + fmt.Println(val) + } +} \ No newline at end of file