Skip to content

Instantly share code, notes, and snippets.

@davepkennedy
Created July 4, 2014 13:17
Show Gist options
  • Save davepkennedy/0667a335507c2af567e5 to your computer and use it in GitHub Desktop.
Save davepkennedy/0667a335507c2af567e5 to your computer and use it in GitHub Desktop.
Binary search on a Seq
def search [T <% Ordered[T]] (s: Seq[T], elem: T): Boolean = {
var low = 0
var high = s.length - 1
while (low <= high) {
val mid = (low + high) / 2
if (s(mid) == elem) {return true}
if (elem < s(mid)) {high = mid-1}
if (elem > s(mid)) {low = mid+1}
}
false
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment