Friday, December 26, 2008

Quicksort

Array#sort works great, but its still fun to write a quick sort in ruby!

class Array
def quicksort
return self if length <= 1

pivot = shift
less, greater = partition {|x| x <= pivot}

less.quicksort + [pivot] + greater.quicksort
end
end

puts [8,99,4,1000,1,2,3,100,5,6].quicksort.join(',')

No comments: