class Quicksort
Public Class Methods
qs(array)
click to toggle source
# File lib/qs.rb, line 2 def self.qs (array) if array.length <= 1 return array end less = Array.new greater = Array.new pivot = array.delete_at(array.length/2) array.each do |x| if x < pivot less << x else greater << x end end return (self.qs(less) << pivot << self.qs(greater)).flatten.compact end