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