Advertisement
Guest User

binary search

a guest
Jan 13th, 2019
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Swift 0.95 KB | None | 0 0
  1. func binarySearch(for number: Int, at list: [Int]) -> String {
  2.     var left = list.startIndex
  3.     var right = list.endIndex - 1
  4.    
  5.     while true {
  6.         let errorMessage = "The number \(number) does not exist in this list"
  7.         let numberFound = "The number \(number) is in the list at index: "
  8.         let middle = (left + right) / 2
  9.        
  10.         if number < list[left] || number > list[right] {
  11.             return errorMessage
  12.         }
  13.         else if number == list[left] {
  14.             return numberFound + "\(left)"
  15.         }
  16.         else if number == list[right] {
  17.             return numberFound + "\(right)"
  18.         }
  19.         else if number == list[middle] {
  20.             return numberFound + "\(middle)"
  21.         }
  22.         else if number < list[middle] {
  23.             right = middle
  24.         }
  25.         else if number > list[middle] {
  26.             left = middle
  27.         } else {
  28.             return errorMessage
  29.         }
  30.     }
  31. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement