Sha256: 63b1aa157ae68d05bc05020c1f9a9e3bb26b21eaa660a08f5819b324e6519065

Contents?: true

Size: 420 Bytes

Versions: 2

Compression:

Stored size: 420 Bytes

Contents

#Add useful array methods
class Array
  def binary_search(target)
    self.search_iter(0, self.length-1, target)
  end

  def search_iter(lower, upper, target)
    return -1 if lower > upper
    mid = (lower+upper)/2
    if (self[mid] == target)
      mid
    elsif (target < self[mid])
      self.search_iter(lower, mid-1, target)
    else
      self.search_iter(mid+1, upper, target)
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
pcr-ruby-0.2.1 lib/classes/array.rb
pcr-ruby-0.2 lib/classes/array.rb