class Algorithmable::Sort::QuickSort

Public Class Methods

sort(collection) click to toggle source
# File lib/algorithmable/sort/quick_sort.rb, line 6
def self.sort(collection)
  do_effect(collection, 0, collection.length - 1)
end

Private Class Methods

do_effect(collection, lo, hi) click to toggle source
# File lib/algorithmable/sort/quick_sort.rb, line 12
def self.do_effect(collection, lo, hi)
  return collection if hi <= lo
  lo_or_hi = partition(collection, lo, hi)
  do_effect(collection, lo, lo_or_hi - 1)
  do_effect(collection, lo_or_hi + 1, hi)
end