Skip to content

Instantly share code, notes, and snippets.

@MickhailP
Created November 21, 2022 16:36
Show Gist options
  • Save MickhailP/1592570794272c17af563f7375e72cdf to your computer and use it in GitHub Desktop.
Save MickhailP/1592570794272c17af563f7375e72cdf to your computer and use it in GitHub Desktop.
BinarySearch
import Foundation
func binarySearch(searchArray: [Int],target: Int, lower: Int, upper: Int) -> Int? {
if lower > upper {
return nil
} else {
var middle = (lower + upper) / 2
print(middle)
if searchArray[middle] == target {
return searchArray[middle]
} else if target < searchArray[middle] {
return binarySearch(searchArray: searchArray, target: target, lower: 0 , upper: middle - 1 )
}
else if target > searchArray[middle] {
return binarySearch(searchArray: searchArray, target: target, lower: middle + 1 , upper: upper )
}
}
return nil
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment