module Helpers
def median_partition!(range = 0...length, &block)
def median_partition!(range = 0...length, &block) median, target = (range.begin + range.end) / 2, range while target.begin != median lower, upper = partition!(target, &block) target = lower === median ? lower : upper end return range.begin...median, median...range.end end