Sorting an Array by Frequency of Appearance
module Enumerable
def sort_by_frequency
histogram = inject(Hash.new(0)) { |hash, x| hash[x] += 1; hash}
sort_by { |x| [histogram[x], x] }
end
end
p [1,2,3,4,1,2,4,8,1,4,9,16].sort_by_frequency
Related examples in the same category