diff --git a/01_introduction_to_algorithms/kotlin/BinarySearch.kt b/01_introduction_to_algorithms/kotlin/BinarySearch.kt new file mode 100644 index 0000000..61ca238 --- /dev/null +++ b/01_introduction_to_algorithms/kotlin/BinarySearch.kt @@ -0,0 +1,21 @@ +fun List.binarySearch(item: Int) : Int? { + var min = 0 + var max = lastIndex + while (min <= max) { + val mid = (min + max)/2 + val guess = this[mid] + if (guess == item) return mid + if (guess > item) max = mid -1 + else min = mid + 1 + } + return null +} + + +val sortedArray = (0..100 step 3).toList() + + +fun main(args: Array) { + print(sortedArray.binarySearch(6)) +} +